Как получить диалоговое окно jQuery для отображения, только если форма проверяется, когда я нажимаю кнопку отправки? - PullRequest
0 голосов
/ 13 мая 2010

У меня есть форма, которая использует проверку JQuery. Когда пользователь нажимает кнопку отправки, появляется диалоговое окно, в котором отображаются поля, заполненные пользователем, вместе с данными, введенными пользователем. Он спрашивает пользователя, является ли эта информация правильной. Если это так, пользователь нажимает кнопку отправки в диалоговом окне, и форма отправляется. Если пользователь нажимает кнопку «Исправить», диалоговое окно закрывается и пользователь возвращается к форме.

Моя проблема в том, что мое диалоговое окно отображается, когда пользователь нажимает кнопку отправки формы, даже если в форме есть ошибки. Я только хочу отобразить диалоговое окно, если данные формы проверены jQuery. Как мне это сделать?

Я думаю о чем-то вроде:

if (('#form').validates() == true) {
    $('#verification_dialog').dialog('open');
}

Есть ли способ в jQuery определить, была ли проверена вся форма? Или мне нужно создать собственную функцию для этого?

Ответы [ 2 ]

1 голос
/ 13 мая 2010

1001 * попробовать *

$("#form").validate({....});

if (('#form').valid()) {
    $('#verification_dialog').dialog('open');
}

больше на .valid ()

редактировать

вот моя работа вокруг этого ...

  var _form;
  $("#myform").validate({
    //.... other options
     meta: "validate",
     submitHandler: function(form) {
       // triggers only if form is valid....
       _form = form; // capture the form....
       $('#verification_dialog').dialog('open');
       return false; // stop submit...
     }
  })
  $('#verification_dialog').dialog({
     //.... other options
     autoOpen: false,
     buttons : {
          "Accept" : function(){             
              _form.submit(); // submit the captured form...
          }
     }
  });

быстрое демо

0 голосов
/ 13 мая 2010

Чтобы получить логическое значение для проверки, вы можете использовать:

if($('#form').validate().form()){
 ...
}
...