当您点击键盘上的“Enter”键时,有没有办法让表格不刷新或拨打任何东西?
非常感谢!!!
我发现这段代码阻止了Enter工作,但它在IE中不起作用:(
$(document).ready(function() {
$(window).keydown(function(event){
if(event.keyCode == 13) {
event.preventDefault();
return false;
}
});
}
答案 0 :(得分:35)
试试这个:
$(function() {
$("form").submit(function() { return false; });
});
答案 1 :(得分:21)
禁用submit
事件不是一个好主意。现在,您可以通过按下按钮来永远提交表单。
而是挂钩keypress
事件:
<form onkeypress="return event.keyCode != 13">
或jQuery风格:
$('form').keypress(function(event) {
return event.keyCode != 13;
});
13
是 Enter 键的keyCode。这适用于从IE6到所有当前浏览器的所有浏览器。你只需考虑textareas。然后,您可以考虑使用此构造:
$(':input:not(textarea)').keypress(function(event) {
return event.keyCode != 13;
});
答案 2 :(得分:14)
在表单的标记上添加onSubmit属性。
<form onSubmit="return false;">
答案 3 :(得分:2)
如果您使用的是AngularJS ,则可以通过“输入”键本地阻止表单提交。
根据HTML规范和AngularJS,您需要查看此列表:
action=...
属性(AngularJS会自动处理)button
type="submit"
属性因此,如果您没有操作属性和提交按钮,则不应通过按Enter键提交您的表单。
此外,跨浏览器的keyCode是这样的:
var code = (e.keyCode ? e.keyCode : e.which);