【发布时间】:2014-08-11 14:15:43
【问题描述】:
我遇到了以下问题: 我使用引导表单从用户那里获取输入,并使用 jQuery preventDefault() 来禁用提交按钮发送表单(我使用 AJAX 代替)。但是,该功能也阻止了由引导程序完成的输入检查。例如,如果有人输入一封没有“@”的电子邮件
<input type="email" class="form-control">
bootstrap 会在单击提交时检查该输入并返回一个带有错误的弹出窗口。
我的问题是:如何在保持引导表单检查机制完整的同时防止请求被发送?
我尝试过:使用 preventDefault() 并编写我自己的检查脚本,但这似乎是在重新发明轮子并在不需要时添加额外的代码。
谢谢!
【问题讨论】:
-
你是对的,这将是重新发明轮子。我建议查看bootstrapvalidator.com 以帮助进行验证。它似乎处理得很好......
-
谢谢!然而,Bootstrap 本身已经有一些“基本”输入验证的机制。因此,如果我添加一个 jQuery 插件,我不会重新发明轮子,但我会添加一些可能没有必要的额外代码。我希望知道是否可以仅部分阻止提交操作:允许输入检查但阻止发送 POST 请求以提交表单。
-
很公平。但是,如果您要使用它,您将不再需要覆盖提交按钮。现在我刚刚离开这个话题。
-
通过一些浏览,似乎真正获得您所追求的唯一方法是在您的表单上使用 .submit 方法,然后进行验证,然后提交(我可以提供代码示例如果你喜欢)。就 bootstrap 为您执行此操作而言,这是通过 bootstrapvalidator.com 或 jqueryvalidation.org 之类的方式处理的...如果有什么不同,我还没有听说过...
-
好的,谢谢:)
标签: javascript jquery html forms twitter-bootstrap