【问题标题】:Need jQuery.validate to prevent Ajax form submission需要 jQuery.validate 来阻止 Ajax 表单提交
【发布时间】:2009-09-25 08:47:02
【问题描述】:

我使用jQuery.validate() 在提交之前验证我的表单。 现在我使用 Ajax 提交表单,我遇到了问题。

注意:我没有使用 jQuery 表单插件。就这么清楚:)

jQuery.validate() 被触发,但表单提交也被执行。

我不希望在验证器正常之前提交表单。有什么大神建议我如何做到这一点?

更新

我找到了答案。我不得不使用 submitHandler。现在我的表单只有在所有必填字段都正确填写后才会提交。

方法如下:

if( jQuery('#my_form').length > 0 ) {
  jQuery("#my_form").validate({
     rules: {
       brand_name: "required",
       brand_email: {email: true },
       brand_description: "required"
     },
       submitHandler: function() { processRegistration(jQuery("#my_form").attr("id"), jQuery("#my_form").serialize());  }
  });  


} 

【问题讨论】:

    标签: jquery-validate


    【解决方案1】:
    jQuery('#registrationforms form').submit(function() {
      if (processRegistration(jQuery(this).attr("id"), jQuery(this).serialize())) {
        // do ajax thing
      };
      return false;
    });
    

    【讨论】:

    • 所以我应该把我的 jQuery("#store_data_form").validate() 放在里面?因为那根本行不通。
    • processRegistration() 返回什么?它应该返回 validate() 的结果(我假设是真或假)。
    • 可以看她的processRegistration():stackoverflow.com/questions/1468605/…
    • 我现在没有时间,但我会尝试类似的东西: $("#myform").submit(function(event) { handleSubmit(event.target); }).validate ();
    猜你喜欢
    • 2010-09-13
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多