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