防止按钮提交输入密钥
我有两个按钮之一与id = enterToSubmit和其他id = clickToSubmit。当用户点击enterkey时,我想要“enterToSubmit”按钮提交表格 而不是“clickToSubmit”按钮。防止按钮提交输入密钥
在同一页上,我有一个文本框id = title,并且在页面加载时我隐藏了“enterToSubmit”按钮,直到用户在文本框中输入内容,然后用户可以按Enter键提交表单。
当用户按下Enter键时,如何防止“clickToSubmit”按钮提交?
可惜你不能改变 '默认' 的HTML提交按钮,它总是第一个input
/button
与submit
/image
类型。因为Enter并不总是要提交一个表单,这取决于(a)什么类型的元素是关注的,(b)是否是shift/ctrl + enter被使用,(c)窗体中还有什么其他元素,以及(d)它是什么浏览器。如果你错过了一个案例,你会得到意外的默认提交;如果你遇到了不应该的情况,你会收到意外的提交意见。
所以一般来说,当你想控制表单的默认提交动作时,首先要在表单中放置一个额外的按钮作为第一个提交按钮。如果您不希望显示此按钮,则可以使用较大的负值left
将其放在页面的旁边。 (这是一个有点难看,但通过display
或visibility
隐藏它会阻止它在某些浏览器工作。)
因此,也许你可以“隐藏”在进入到提交通过使其消失按钮不能不其推关闭无法看到的页面,然后将其上的click
事件捕获到return false
并停止表单提交。
当用户按下Enter键时,如何防止“clickToSubmit”按钮 提交?
试试这个:
$("#clickToSubmit").keypress(function(e){
if(e.keyCode === 13){
e.preventDefault();
}
});
尝试使用文本框验证码输入
$j("#title").keypress(function(e1){
if(e1.keyCode==13){ // if user is hitting enter
return false;
}
});
的提交按钮
$j("#clickToSubmit").submit(function(e1){
if(e1.keyCode==13){ // if user is hitting enter
return false;
}
});
jQuery('#clickToSubmit').click(function(e){
if(e.keyCode==13){
e.preventDefault();
}
});
首先,你必须确保两个按钮都不是提交类型。现在在这两个按钮上你可以调用两个不同的JavaScript函数。 enterToSubmit()并单击ToSubmit()也可以看到在enterToSubmit()上你看到了输入键按
if(e.keyCode === 13){0} {0} {0} {0} }
,并调用form.submit()
同时clickToSubmit()你直接做form.submit()
代码格式不正确。 – 2017-12-05 22:18:05
$('#formId').on('keyup keypress', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode === 13) {
e.preventDefault();
return false;
}
});
Usually form is submitted on Enter when you have focus on input
elements.
We can disable Enter key (code 13) on input elements within a form.
此外,由于在Firefox中的一些较新版本的表单提交不 阻止,它的安全按键事件添加到窗体为好。
关于这段代码的一些解释可能是有益的。 – Pyves 2017-07-17 08:04:11
+1这是有用的信息一如既往:) – Sarfraz 2010-11-02 07:36:00