Форма подтверждения JQuery / JQuery требует 2 клика для отправки - PullRequest
1 голос
/ 29 февраля 2012

Я объединяю jquery validate () с плагином формы jquery для отправки формы с использованием Ajax. Все работает, за исключением того, что для отправки кнопки требуется 2 клика. Любые предложения о том, как решить проблему?

В дополнение к возвращаемому значению false, рекомендованному в плагине формы jquery (http://www.malsup.com/jquery/form/#ajaxSubmit), Я пытался использовать warnDefault () и $ .ajaxSetup ({async: false});.

Также кнопка отправки - это изображение.

 <input id="submit" type="image" src="filename.jpg">

Вот код:

$(document).ready(function(){
$("#form-id").validate({
  rules: {
    email: {
      required: true,
      email: true
      }
    },
   messages: {
     email: {
       required: "Please enter a valid email address.",
       email: "Use this format: user@example.com."
     }
  },
  submitHandler: function () {
    $('#form-id').submit(function(){
    var options = { 
        success: showMessages
    }; 
$(this).ajaxSubmit(options);
    return false;
    });

}//end submitHandler
});//end validate
});//end document.ready

Используемые плагины:

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

http://www.malsup.com/jquery/form/#ajaxSubmit

1 Ответ

0 голосов
/ 29 февраля 2012

Вам не нужно добавлять обработчик submit() к форме в submitHandler, так как ajaxSubmit отправит его вам. Попробуйте это:

submitHandler: function () {
    var options = { 
        success: showMessages
    }; 
    $('#form-id').ajaxSubmit(options);
}
...