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

标签 jquery jquery-validate

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

最佳答案

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

粗略的示例代码草案:

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

其中 validate() 是您的验证函数,在验证失败时返回 false。

编辑:
示例处理程序绑定(bind)到 click 事件,因为您想要

to check validity of form on clicking the submit button

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

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

关于jquery - 拦截提交按钮的点击并检查表单 jQuery 的有效性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11257604/

相关文章:

javascript - jQuery 检查 url 是否响应

javascript - 对于多维数组中的每个数组

jquery - 检查 jquery.validate 中的字符串

jQuery 验证 : How to add a rule for regular expression validation?

jquery - 使用 jQuery 验证,有没有一种方法可以在不引用创建的对象的情况下重置表单?

jquery - jquery的post()方法能够调用asp.net 3.5 webmethod吗?

javascript - 如何插入动态帖子数组php?

jquery - 如何使用 ASP.NET MVC 手动启用 jQuery 验证

jQuery Validate 和 Ajax - 失败后重置验证

javascript - CSS 不适用于 innerHtml 中的元素