一般浏览器都提供了回车键提交表单功能,这样带来了不少便利。但是有时候,你的业务场景又不需要回车提交表单功能,因为这样会影响你已有的业务逻辑。
禁止回车提交 form 表单的方法:
- 解决单个输入框的回车即提交问题,可以增加一个隐藏的
input="text" display='none';
然后 type 类型为 button 。 - 在 form 表单或 input 中加入:
onkeydown="if(event.keyCode==13){return false;}"
。
当然,如果你需要在所有提交表单的页面都禁止回车提交表单,那么可以封装成一个单独的js文件,引入即可。代码如下:
<script>
//禁用Enter键表单自动提交
document.onkeydown = function (event) {
var target, code, tag;
if (!event) {
event = window.event;
//针对ie浏览器
target = event.srcElement;
code = event.keyCode;
if (code == 13) {
tag = target.tagName;
if (tag == "TEXTAREA") {
return true;
} else {
return false;
}
}
} else {
target = event.target;
//针对遵循w3c标准的浏览器,如Firefox
code = event.keyCode;
if (code == 13) {
tag = target.tagName;
if (tag == "INPUT") {
return false;
} else {
return true;
}
}
}
};
</script>
见此 demo