Jquery validate / jquery表单需要2次点击才能提交

时间:2012-02-29 14:46:54

标签: jquery forms jquery-validate jquery-forms-plugin

我正在将jquery validate()与jquery表单插件相结合,以使用Ajax提交表单。一切正常,但提交按钮需要2次点击才能提交​​。有关如何解决问题的任何建议吗?

除了在jquery表单插件(http://www.malsup.com/jquery/form/#ajaxSubmit)中推荐返回false之外,我还尝试过使用preventDefault()和$ .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 :(得分:0)

您无需在submit()中的表单中添加submitHandler处理程序,因为ajaxSubmit会为您提交。{1}}试试这个:

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