我如何使用 jquery 验证在 submithandler 中调用函数?

How can i call function in submithandler using jquery validation?

我试图在表单验证后调用 ajax 函数,但它对我不起作用。下面的 jquery on-submit 方法对我来说工作正常。

$('#promotionAdd').on('submit',(function(e) {
        e.preventDefault();
        var formData = new FormData(this);
        promotionAdd(formData);
        return false;
    }));

但我需要在 submithandler 中调用同样的东西,但它不起作用。

$(document).ready(function () {
        $('#promotionAdd').validate({ // initialize the plugin
            rules: {
                mtitle: {
                    required: true,
                    minlength: 3, 
                }
            },
            messages: {
                mtitle: "Please enter Promotion Title",
            },
            submitHandler: function (form) { // for demo
                //alert(this);
                e.preventDefault();
                var formData = new FormData(this);
                promotionAdd(formData);
                return false;
            }
        });
    });

任何人都可以指导我我错在哪里以及我该如何解决它。我想欣赏。谢谢

submitHandler this 中指的是验证插件,而不是调用插件的表单。请改用传递给函数的 form 参数。

另请注意,preventDefault() 将导致错误,因为 e 未定义且 return false 将不执行任何操作。在任何情况下都不需要它们,因为验证插件会为您处理表单提交的预防。试试这个:

submitHandler: function (form) {
    var formData = new FormData(form); // use 'form' here
    promotionAdd(formData);
}