Jquery suppress submit event/submit按钮仅在禁用javascript时启用
我在表单上进行了一些客户端JavaScript验证。它工作得很好。但我想适应禁用JavaScript的用户。我的验证不是从表单的onsubmit属性运行的,而是绑定到表单中普通按钮的事件处理程序。因此,启动验证和提交的按钮实际上不是提交,而是type=“button”:Jquery suppress submit event/submit按钮仅在禁用javascript时启用,jquery,html,forms,submit,Jquery,Html,Forms,Submit,我在表单上进行了一些客户端JavaScript验证。它工作得很好。但我想适应禁用JavaScript的用户。我的验证不是从表单的onsubmit属性运行的,而是绑定到表单中普通按钮的事件处理程序。因此,启动验证和提交的按钮实际上不是提交,而是type=“button”: 我的问题是,如果用户禁用了JS,则无法提交表单。我可以使用按钮type=“submit”,这将适用于禁用JS的用户,但它将*始终提交表单,并绕过启用JS的用户的验证。(验证将运行,但仍将提交)。如果我按下按钮type=“subm
我的问题是,如果用户禁用了JS,则无法提交表单。我可以使用按钮
type=“submit”
,这将适用于禁用JS的用户,但它将*始终提交表单,并绕过启用JS的用户的验证。(验证将运行,但仍将提交)。如果我按下按钮type=“submit”
,如果单击了提交事件,我是否可以阻止它?我使用的是JQuery,JQuery可以抑制提交吗?我希望我的验证能够处理它是否被提交。您可以通过在表单
元素中设置onsubmit处理程序来禁止提交,如果验证失败,则返回false
因此,如果验证成功,则返回true;如果验证失败,则返回false,而不是调用
thisForm.submit()
您可以通过执行以下操作来抑制提交单击:
$('input[type=submit]').bind('click', function(e) {
e.preventDefault() // prevents the form from being submitted
clickHandler(); // the custom submit action
});
或者,您可以按如下方式抑制实际表单提交:
$('form').bind('submit', function(e) {
e.preventDefault();
// etc
});
将按钮更改为普通的提交按钮,并将验证检查绑定到表单上的事件
$("form").submit(function() {
if (!submitValidation()) {
return false;
}
});
从文档中:
submit
事件被发送到
当用户试图
提交一份表格。它只能附加
对元素进行修改。表格可以是
通过单击
显式
,
或
,或按Enter键
当某个表单元素具有焦点时
$('form').bind('submit', function(e) {
e.preventDefault();
// etc
});
$("form").submit(function() {
if (!submitValidation()) {
return false;
}
});