Я предпочитаю использовать игнорировать класс. Вы можете классифицировать группу полей, используя класс. т. е. input1, input2, input3 = класс step1, input4,5,6 class step2. на моем клике используйте $ (". step1"). addClass и $ (". step2"). removeClass. Я посмотрю на плагин валидности.

мер Скажем, у меня есть два текстовых поля A, B и две кнопки C, D в форме. Затем я хочу, чтобы при нажатии кнопки C, если действительным было только текстовое поле A, то форма действительна, а при нажатии кнопки D, если действительным было только текстовое поле B, форма действительна.

Кто-нибудь знает как это сделать?

 dqhendricks07 янв. 2011 г., 19:35
хороший вопрос...

Ответы на вопрос(2)

Решение Вопроса

Используйте опцию игнорирования.

$("form").validate({ignore: ".ignore"});

$("#c").click(function(){
   //$("#a").removeClass("ignore");
   //$("#b").addClass("ignore");
   $(".step1").removeClass("ignore");
   $(".step2").addClass("ignore");
   $("form").valid();
});

$("#d").click(function(){
   //$("#a").addClass("ignore");
   //$("#b").removeClass("ignore");
   $(".step1").addClass("ignore");
   $(".step2").removeClass("ignore");
   $("form").valid();
});

РЕДАКТИРОВАТЬ: как изложено в моем комментарии @ dannie.f сообщение

но он не сработал для меня. Если у вас много полей, было бы утомительно добавлять и удалять классы для каждого поля при нажатии кнопки. Кроме того, вам нужно знать идентификаторы или классы полей, которые нужно игнорировать.

Это решение, которое я придумал. Я создал группы проверки с использованием divs и использовал jquery:не селектор, чтобы сказать валидатору игнорировать любое поле, не содержащееся в этой группе.

<html>
<head>
<script type="text/javascript">
   $(function(){
      section1Validator = $("#form1").validate(
        { ignore: ":not(#section1 *)" });

      section2Validator = $("#form1").validate(
        { ignore: ":not(#section2 *)" });

     $("#c").click(function(){
           if (section1Validator.form()) {
                // do something when form is valid
           }
      });

      $("#d").click(function(){
           if (section2Validator.form()) {
                // do something when form is valid
           }
      });
   })
</script>
</head>

<body>
<form id="form1">
   <div id="section1">
      <input id="a" name="a" type="text" class="required"/>
      <button id="c" type="buttom">submit</button>
   </div>
   <div id="section2">
      <input id="b" name="b" type="text" class="required"/>
      <button id="d" type="button">submit</button>
   </div>
</form>
</body>
</html>
 dannie.f02 мая 2011 г., 16:31
Я в конечном итоге с помощьюValidity jQuery Плагин, Намного проще и гибче в использовании.
 dannie.f26 апр. 2011 г., 20:32
Вот это еще одна опция, расширение валидатора для проверки всех элементов, возвращаемых данным селектором.
 Jules06 мая 2011 г., 08:38
Я предпочитаю использовать игнорировать класс. Вы можете классифицировать группу полей, используя класс. т. е. input1, input2, input3 = класс step1, input4,5,6 class step2. на моем клике используйте $ (". step1"). addClass и $ (". step2"). removeClass. Я посмотрю на плагин валидности.

Ваш ответ на вопрос