拦截单击提交按钮并检查jQuery表单的有效性

Rus*_*hil 3 jquery jquery-validate

我想在单击“提交”按钮时检查表格的有效性。如果有效,表格应提交,否则不做任何事情。我尝试禁用提交按钮,并单击检查有效性并启用它。但是我看到这种方法有两个问题。1:未在禁用的按钮上检测到点击:2:即使我设法检测到点击,也可能会陷入无限循环。启用按钮后的第二次单击将再次触发有效性检查,依此类推。

小智 5

您应该使用event.preventDefault()。阅读此:http : //api.jquery.com/event.preventDefault/

粗略的示例代码草案:

$('your-submit-button').click(function(event){
    if (! validate() ) {
        event.preventDefault();
        showErrors();
    }
})
Run Code Online (Sandbox Code Playgroud)

validate()您的验证函数在哪里,如果验证失败,则返回false。

编辑:
样品处理程序绑定到click事件,因为你想要

单击提交按钮检查表格的有效性

最好使用.submit()而不是.click()来对任何类型的表单提交进行验证。我们的样本几乎保持不变:

$('#your-form-id').submit(function(event){
    if (! validate() ) {
        event.preventDefault();
        showErrors();
    }
})
Run Code Online (Sandbox Code Playgroud)