为什么我的表单需要两(2)次点击才能使用jQueryValidate提交

Why my form need two (2) clicks to submit using jQuery Validate?

本文关键字:提交 jQueryValidate 表单 我的 为什么      更新时间:2024-01-08

为什么我的表单需要点击两次才能使用jQuery Validate提交?

contact_form.validate({ ... });

演示:http://goo.gl/7jQjqY

请帮忙!谢谢

调用

$(form).submit(function() {
   //
});

内部的submitHandler是不正确的:您只是添加了提供的函数作为表单的事件处理程序,但实际上并没有调用它。因此,当您第一次按下按钮时,您只是定义了一个新的事件处理程序。第二次按下是因为现在已经定义了处理程序。

要修复,只需删除

$(form).submit(function() {

以及相应的

});

行,将提交代码直接放在submitHandler中。

submitHandler: function(form) {
    var str = $(this).serialize();
    $.ajax({
        url: 'process.mail.jsp',
        type : 'POST',
        data: str,
        //dataType : 'json',
        success: function(result) {
            // etc
        }
    });
}

这里的工作示例——它实际上只是你的,第37行和第57行被注释掉了。