如何将jquery.validate与jquery.form集成?

时间:2010-11-16 12:13:16

标签: jquery jquery-plugins

我分别使用这两个插件jquery.validate和jquery.form,但我想一起使用它们。 我有一个简单的用户表单,其中包含一些要验证的字段。

带插件的脚本:

 $(function() {

  $("#my_form").validate({
   submitHandler: function(form) {

    var my_options = { 
     target:        '#save_form',
     dataType:      'json',
     beforeSubmit:  showRequest,
     success:       showResponse
    }; 
    $(form).ajaxForm(my_options); 

     }
  });  

 }); 

 function showRequest(formData, jqForm, my_options) { 
  $("#save_form").fadeIn().html('<img src="<?=ICONES?>spin_light.gif">');
 } 

 function showResponse(data, responseText, statusText)  { 
  // do something
 } 

这看起来不错,验证工作正常。问题是我必须在提交按钮(<input type="submit" value="Save" class="button" />)中单击两次才能提交表单。每次到表单提交时,它只会在按钮中单击第二次。这有什么不对?

问候,JoãoClérigo

1 个答案:

答案 0 :(得分:2)

从未尝试过validate的submitHandler选项,
我也使用这两个插件,但是这样:

$('#my_form').validate({[your options here]}).submit(function ()
    {
        $(this).ajaxSubmit({
            beforeSubmit: function (arr, jqForm, options)
        {
                //can continue if the form is valid
                return jqForm.validate().form();
            },
            success: function (ret, statusText, xhr, jqForm)
            {
                //party
            }
        });
        return false;//stop regular submit
    });