Javascript 带有动态表单的jquery验证插件

Javascript 带有动态表单的jquery验证插件,javascript,jquery,ajax,jquery-validate,Javascript,Jquery,Ajax,Jquery Validate,如果尚未创建表单,如何使用此代码(来自): jQuery("#form").validate({ submitHandler: function(form) { jQuery(form).ajaxSubmit({ target: "#result" }); } }); 一种不起作用的方法是在('click'),上调用验证,如下所示: $(document.body).on('click', '.submitBtn', function(){ var $

如果尚未创建表单,如何使用此代码(来自):

jQuery("#form").validate({
  submitHandler: function(form) {
    jQuery(form).ajaxSubmit({
      target: "#result"
    });
  }
});
一种不起作用的方法是在('click'),上调用验证,如下所示:

$(document.body).on('click', '.submitBtn', function(){
   var $form =$('form'+this.id);
       $form.validate({
         submitHandler: function($form) {
           $form.ajaxSubmit({
             target: "#result"
           });
         }
       });
});
有什么建议吗?

创建表单后,尝试使用
jQuery(#form”).validate().form()


我想这个对类似问题的回答会对你有很大帮助

这里有一个使它更具体到您的代码的镜头

创建自定义事件,以便在表单位于页面上时触发

$(document).bind('bindForm', function (e) {
    jQuery("#form").validate({
        submitHandler: function(form) {
          jQuery(form).ajaxSubmit({
             target: "#result"
          });
        }
    });
});
然后,在加载表单时,触发自定义事件

$(document).trigger('bindForm'); //trigger our validate form
当您想检查表单是否在其他函数中有效时

$(".submitBtn").live("click",function() {
    if (!$("#form").validate().form()) {
        return;
    }
});

嗯,它说,“uncaughttypeerror:cannotcallmethod'form'of undefined”Ooh,看起来选择器中缺少了一个
符号。
$(“#form”+this.id)
它现在可以工作了!一个变化是我需要正确地jQuery通知
blah.ajaxSubmit
函数,我更新了你的答案使其工作,谢谢你的帮助!不客气。我只是想
表单()
对于该函数来说是一个相当糟糕的名字,而且一点也不直观。同意,这件事让我发疯。感谢链接和答案,布赖恩的建议似乎更简洁了一些,所以这就是我要说的,但很高兴知道不用担心,我同意这是你可能想要的,我也学到了一些东西。
$(".submitBtn").live("click",function() {
    if (!$("#form").validate().form()) {
        return;
    }
});