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

时间:2013-11-29 14:06:26

标签: javascript jquery ajax forms validation

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

contact_form.validate({ ... });

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

请帮忙!谢谢!

1 个答案:

答案 0 :(得分:1)

调用

$(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
        }
    });
}

工作示例here - 它只是你的第37行和第57行注释掉了。