Jquery 以表格形式验证';s submithandler ajax获取未捕获类型错误:form.serialize不是函数

Jquery 以表格形式验证';s submithandler ajax获取未捕获类型错误:form.serialize不是函数,jquery,forms,jquery-validate,Jquery,Forms,Jquery Validate,在控制台中获取此错误未捕获TypeError:form.serialize不是函数。如何在form validate submithandler的ajax中修复此错误 $('#form').validate({ errorClass: 'fieldError', onkeyup: false, onblur: false, errorElement:

在控制台中获取此错误未捕获TypeError:form.serialize不是函数。如何在form validate submithandler的ajax中修复此错误

$('#form').validate({
                errorClass:  'fieldError',
                onkeyup:     false,
                onblur:      false,
                errorElement:'label',

                submitHandler: function(form) {
                    $.ajax({
                        url: form.action,
                        type: form.method,
                        data: form.serialize(),
                        success: function(response) {
                            if (response == false)
                            {alert('could not submit!')}
                        }

                    });

                }
            });
根据jqueryvalidate插件的调用,submitHandler的
submitHandler
回调将本机形式作为唯一的参数

本机表单没有
serialize()
方法,因为它是jQuery方法。
您必须将本机表单包装在
$()


使用$('#form').serialize()供参考-没有名为
onblur
的选项。最接近的选项称为
onfocusout
。我已经尝试过这个解决方案,但我是这样做的:var$form=$(this);所以又有一个例外。现在修复了此解决方案的+1。谢谢,先生@Haroon,在
submitHandler
中,
$(this)
是验证器对象,而不是表单。
submitHandler: function(form) {

    var $form = $(form);

    $.ajax({
        url     : $form.attr('action'),
        type    : $form.attr('method'),
        data    : $form.serialize(),
        success : function(response) {
            if (response == false) {
                alert('could not submit!')}
            }
        });
    });
});