1

我将 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

4

1 回答 1

0

您不需要为submit()中的表单添加处理程序submitHandler,因为ajaxSubmit它会为您提交。试试这个:

submitHandler: function () {
    var options = { 
        success: showMessages
    }; 
    $('#form-id').ajaxSubmit(options);
}
于 2012-02-29T14:58:55.190 回答