验证复选框和aspnet验证

时间:2011-01-19 14:20:52

标签: javascript asp.net javascript-events

我正在使用asp.net验证控件,它可以正常工作。我已经引入了一个HTML复选框,应该在提交表单之前勾选。我的功能如下:

function terms(form) {
var terms = document.getElementById("chkTerms").checked;
var errorsArray = new Array();

if (terms == false) {
    //alert("Terms not checked (works)");
    errorsArray.push("You must agree to the terms and conditions.");
    if (errorsArray.length) {
        document.getElementById("termsOutput").innerHTML = errorsArray.join("\n") + "<br />";
        return false;
    }
}
else {
    document.getElementById("termsOutput").innerHTML = "";
}}

如下所示:

<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClientClick="return terms(form)" />

我遇到的问题似乎是我可以使用asp.net验证或我写的自定义复选框验证。然而,在表单发布之后,asp.net验证会激活!谁知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

ASP.NET按钮控件使用随后触发客户端验证的WebForm_DoPostBackWithOptions方法。通过将返回项(表单)添加到按钮客户端单击处理程序,此语句在回发语句运行之前返回(调用Page_ClientValidate),因此您看不到验证。执行(if!terms(form))返回false)只会在false时取消。

HTH。