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

时间:2012-06-29 07:14:44

标签: jquery jquery-validate

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

1 个答案:

答案 0 :(得分:4)

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

粗略的示例代码草稿:

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

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

修改
样本处理程序绑定到click事件,因为您需要

  

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

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

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