jQuery validate()获取submitHandler中当前表单的方法

4

我有一个包含多个表单的页面,验证下面的代码工作正常,但是当我尝试访问$ .validator对象以获取存储为“currentForm”的已验证表单选择器/ id的引用时遇到了问题。

    $("form.validate").each(function(){

         $(this).validate({
            submitHandler: function(form) {
               console.log($(this));
            }
         });

    });

控制台.log ==

[$.validator, init: function, selector: "", jquery: "1.4.2", size: function, toArray: function…]
0: $.validator
containers: c.fn.c.init[0]
currentElements: c.fn.c.init[12]
currentForm: form#thisForm1.validate
...

为什么 - $.validator.currentForm 没有给我当前表单的值?

我尝试过 validator.currentForm.id 和 validator.currentForm 以及许多其他组合。你有什么想法,如何获取该值并在我的 submitHandler 中使用它来引用已提交的表单。

1个回答

7
你可以使用传递给submitHandler方法的form参数,它指代提交的表单元素。请查看submitHandler的文档。
$("form.validate").each(function(){

     $(this).validate({
        submitHandler: function(form) {
           console.log(form, $(form));
        }
     });

});

1
谢谢您。$(form).attr('id') 完美地解决了问题。我会在能够接受时给您好评。 - uber_n00b

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接