验证对复选框和aspnet验证
问题描述:
我使用asp.net验证控件哪些工作正常。自从我引入了一个HTML复选框之后,应该在提交表单之前勾选它。我对这个函数如下:验证对复选框和aspnet验证
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验证激发!任何人都知道我在做什么错了?
答
ASP.NET按钮控件使用随后触发客户端验证的WebForm_DoPostBackWithOptions方法。通过向按钮客户端单击处理程序添加返回项(表单),此语句在回发语句运行之前返回(它调用Page_ClientValidate),因此您看不到验证。做一个(如果!条款(表单))返回false),而只会在取消时取消。
HTH。
OnClientClick =(if!terms(form))return false)? – conflabuk 2011-01-19 15:03:19