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

jQuery Plugin Conflict - Validate and jQuery Form

本文关键字:jQuery 表单 验证 插件 冲突      更新时间:2024-02-10

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

我在这里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/

谢谢你的任何建议。

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

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

并且可以对$(form).validate(options)使用类似的选项;

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