Выполняйте jQuery, только если форма верна - PullRequest
1 голос
/ 23 августа 2011

Я использую плагин проверки jQuery и также использую jQuery для создания закрывающей анимации для всплывающего окна, в котором находится моя форма.

Естественно, я не хочу, чтобы всплывающее окно закрывалось, еслиформа недействительна и ошибки должны быть исправлены.

Вот с чем я работаю ...

Проверка формы:

$(document).ready(function(){
    $("#form").validate({
       errorContainer: "#messageBox1",
       errorLabelContainer: "#messageBox1 ul",
       wrapper: "li",
    });
    });

Отправить действие кнопки формы:

$("#ContinueButton").click(function(){
$("#refer-a-friend").animate({
    top: "0%",
    opacity: 0
}, 500 );
});

Так как мне сделать так, чтобы анимация закрытия запускалась только в том случае, если форма действительна?

Ответы [ 2 ]

1 голос
/ 23 августа 2011
$("#ContinueButton").click(function(){
   if($("#form").valid()) {
      $("#refer-a-friend").animate({
         top: "0%",
         opacity: 0
       }, 500 );
   }
});

http://docs.jquery.com/Plugins/Validation/Validator

http://docs.jquery.com/Plugins/Validation/valid

1 голос
/ 23 августа 2011

Ваша проверка будет запущена при отправке #form. Ваш #ContinueButton должен быть либо type="submit", либо звонить $("#form").submit();

Если у вас есть кнопка submit для проверки, посмотрите на параметр submitHandler в документации , это должно быть то, что вам нужно. Примерно так:

$("#form").validate({
    submitHandler: function(form) {
      //perform your animation here 
   }
});
...