【问题标题】:How can i call function in submithandler using jquery validation?如何使用 jquery 验证在 submithandler 中调用函数?
【发布时间】:2016-07-11 13:03:08
【问题描述】:

我试图在表单验证后调用 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;
            }
        });
    });

谁能指导我哪里错了,我该如何解决。我很感激。谢谢

【问题讨论】:

    标签: jquery ajax jquery-validate


    【解决方案1】:

    submitHandler this 中指的是验证插件,而不是调用插件的形式。请改用传入函数的form 参数。

    还要注意preventDefault() 会导致错误,因为e 没有定义,return false 不会做任何事情。在任何情况下都不需要它们,因为验证插件会为您处理表单提交的预防。试试这个:

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

    【讨论】:

    • 感谢您与我分享知识
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    • 2017-10-23
    相关资源
    最近更新 更多