-7

我正在使用 javascript 进行必填字段验证,我使用了警报框,在警报框中单击确定后,控件也转到服务器端代码以进行保存单击

function IsFieldEmpty() {
    var txtAgent_Name = document.getElementById("<%=txtAgent_Name.ClientID %>");

    if (txtAgent_Name.value == "") {
        alert('Please Enter Agent Name');
        txtAgent_Name.focus();
        return false;
    }
}
4

1 回答 1

1

如果问题是某些事件处理程序在显示alert验证错误通知后仍在提交数据,则您可能需要false在显示 后使事件处理程序函数返回alert,以防止进一步处理该事件。

正如@Bergi 在他的评论中指出的那样,如果您使用的是 JQuery 或其他框架,您可能需要使用stopPropagation()或等效。看

更新

看到发布的代码,重要的return false是要注意在函数内部完成IsFieldEmpty。这意味着这false是 的返回值IsFieldEmpty。请注意,如果您以与此类似的方式提交数据:

<input type="submit" onclick="IsFieldEmpty()">

IsFieldEmpty将返回 false 但事件处理程序不会。如果是这种情况,您应该将其更改为:

<input type="submit" onclick="return IsFieldEmpty()">

并在通过验证时IsFieldEmpty返回。true

function IsFieldEmpty() {
    var txtAgent_Name = document.getElementById("<%=txtAgent_Name.ClientID %>");

    if (txtAgent_Name.value == "") {
        alert('Please Enter Agent Name');
        txtAgent_Name.focus();
        return false;
    }
    return true;
}
于 2012-09-18T13:13:03.023 回答