2016-07-14 5 views
0

Я пытаюсь отключить некоторые валидаторы обязательных полей на странице ASP.NET. Я написал следующую функцию javascript. У меня есть четыре обязательных поля. Селектор работает нормально, но когда дело доходит до отключения проверки, он терпит неудачу. Однако, если я изменяю цикл for на for (var j = 0; j < validators.length-1; j ++), ValidatorEnable работает для трех, то есть я могу легко их отключить. Может кто-нибудь, пожалуйста, дайте мне знать, почему я не могу отключить последний валидатор, т. Е. Четвертый.Отключение валидаторов в ASP.NET через javascript

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

Вы знаете, элементы управления, для которых в обход проверки? – Sami

+0

http://stackoverflow.com/questions/9704039/enable-disable-aspvalidators-using-jquery – denchu

ответ

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); 
    }); 
}; 
+0

Я делал то же самое, как и я, это было иначе. Я не знаю, что пошло не так. Мне не нужно было делать одно изменение, чтобы заставить код работать. (Мой собственный код работал для меня) В любом случае спасибо. – Shalin

+0

Рад помочь вам, пожалуйста, не забудьте принять в качестве ответа и проголосовать, если это так. спасибо – Sami