jQuery插件冲突 - 验证和jQuery表单

时间:2012-07-23 18:30:02

标签: javascript jquery ajax validation jquery-plugins

我有一个使用jQuery Validate(jQuery Validate)和jQuery Form(jQuery Form)的网站。我的问题是当我在ajaxSubmit上使用成功回调时,当在Validate上调用成功回调时,会调用ajaxSubmit成功'回调。

我在这里ajax表单,并在Validate下将submitHandler设置为ajaxSubmit:

/******* Validate Function Options (not complete function) ************/
success: function(label) {
  label.addClass("checked");
}, 
submitHandler: function(form) {
  $(form).ajaxSubmit();
}

/******* AjaxForm Options/Initilization ************/

var options = { 
  target: '#server-response',       
  success: showResponse,
};

$('#consultation-form').ajaxForm(options);

我的困境是,当验证成功时(在验证时调用成功回调),它也会调用AjaxForm选项的成功回调。花了最后一小时在这里环顾四周,这就是我找到submitHandler的方式。

JsFiddle在这里,由于我的帖子不会起作用,但它完全是js和html。 http://jsfiddle.net/UUDb6/

感谢你提出任何建议。

1 个答案:

答案 0 :(得分:2)

看起来您可以分别在jQuery validate和ajax表单的选项中定义自定义URL。例如:

$("#myform").ajaxForm({
   url: "mypage1.php",
   type: "POST",
   ...
 });

$("#myform").validate({
   url: "mypage2.php",
   type: "POST",
   ...
 });

您可以对$(form).validate(options);

使用类似的选项

您可以复制PHP回调脚本并更改名称,因此validate函数使用一个脚本,而ajaxSubmit使用另一个脚本。