我正在使用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验证会激活!谁知道我做错了什么?
答案 0 :(得分:0)
ASP.NET按钮控件使用随后触发客户端验证的WebForm_DoPostBackWithOptions方法。通过将返回项(表单)添加到按钮客户端单击处理程序,此语句在回发语句运行之前返回(调用Page_ClientValidate),因此您看不到验证。执行(if!terms(form))返回false)只会在false时取消。
HTH。