【问题标题】:jquery form validation submithandler for multiple forms on one page一页上多个表单的jquery表单验证提交处理程序
【发布时间】:2014-02-27 16:43:00
【问题描述】:

一页上有多个表单。在我的代码中,PHP 会通过提交按钮名称捕获正在提交的表单,如下所示:

if (!empty($_POST['submit-btn-name']))

没有 jquery 验证一切正常。但是,当我尝试使用 JQuery 表单验证插件验证每个表单时,插件的提交处理程序不会让 PHP 查看已提交的表单。

$("#profileupdate,#contactform").each(function(){

   $(this).validate({
      errorPlacement: function (error, element) { },
      onkeyup: false,
      submitHandler: function(form) {
           form.submit();
      }
   });
});

【问题讨论】:

    标签: php jquery forms validation


    【解决方案1】:

    假设 submit-btn-name 是特定按钮的值,我相信该值是由浏览器提交的,是单击按钮的结果。一旦你直接调用 form.submit(),你很可能不会得到这个。如果您改为将值移动到隐藏的表单字段而不是依赖于传递的按钮值,这可能会有所帮助。当然,如果我的假设是错误的,请纠正我。

    【讨论】:

    • 不错!太糟糕了,我自己没有弄清楚。感谢您的帮助。
    【解决方案2】:

    你试过了吗

    $("form").validate({ 
    
    // put you code here
    
    });
    

    而不是

    $("#profileupdate,#contactform").each(function(){
    
       $(this).validate({
          // put you code here
       });
    });
    

    【讨论】: