我试图在ASP.NET页面中禁用一些requiredfield验证器。我写了以下javascript函数。我有四个必填字段验证器。选择器工作正常,但在禁用验证时失败。但是,如果我将for循环更改为for(var j = 0; j< validators.length-1; j ++),则ValidatorEnable适用于三个,即我可以轻松地禁用它们。任何人都可以让我知道为什么我不能禁用最后一个验证器,即第四个验证器。
function disableValidation() {
var validators = $("[id^=MainContent_MemberInitiateRolloverControl1_][id$=_vr]");
for (var j = 0; j < validators.length; j++) {
console.log(validators[j]);
ValidatorEnable(validators[j], false);
}
答案 0 :(得分:0)
将CausesValidation
属性设置为false以控制。 RequiredFieldValidator不会验证它们。一个例子:
<asp:TextBox ID="txt" runat="server" Text="New" CausesValidation="False" />
JavaScript解决方案
if (Page_Validators) {
PageValidators.forEach(function(pageValidator) {
if (pageValidator == null) {return;}
if (pageValidator.controltovaliddate != "<%= ControlToValidate.ClientID %>") {
return;
}
ValidatorEnable(pageValidator, false);
});
};