网上有很多解决方案可以阻止输入密钥提交表单。最常用的是<body onkeypress = ...
但是这些似乎具有阻止在多行文本框中工作的回车键的不良副作用。有没有人知道这方面的方法,所以回车键仍然可以在多行文本框中工作?
谢谢,
AJ
答案 0 :(得分:3)
<script language="Javascript">
document.onkeydown = function() {
if (event.keyCode == 13) {
if (document.activeElement.tagName.toLowerCase () != "textarea") {
event.preventDefault();
return false;
}
}
}
</script>
这样的东西?
答案 1 :(得分:1)
您可以尝试以下(使用jquery):
$(function(){
$('input:not(textarea)').live('keypress', function(e) {
if (e.which == 13) return false;
if (e.which == 13) e.preventDefault();
});
});
仅定位输入字段,而不是textareas。
NON JQUERY
function disableEnterKey(e)
{
var key;
if(window.event)
key = window.event.keyCode;
else
key = e.which;
return (key != 13);
}
在所有文字输入上添加onKeyPress
<input type="text" name="textIn" onKeyPress="return disableEnterKey(event)"/>
参考:http://www.bloggingdeveloper.com/post/Disable-Form-Submit-on-Enter-Key-Press.aspx