【发布时间】:2011-10-08 17:40:15
【问题描述】:
网络上有很多解决方案可以阻止输入键提交表单。最常用<body onkeypress = ...
但这些似乎具有阻止回车键在多行文本框中工作的不良副作用。有谁知道解决这个问题的方法,所以回车键仍然可以在多行文本框中工作?
谢谢,
AJ
【问题讨论】:
标签: javascript html events dom
网络上有很多解决方案可以阻止输入键提交表单。最常用<body onkeypress = ...
但这些似乎具有阻止回车键在多行文本框中工作的不良副作用。有谁知道解决这个问题的方法,所以回车键仍然可以在多行文本框中工作?
谢谢,
AJ
【问题讨论】:
标签: javascript html events dom
您可以尝试以下方法(使用 jquery):
$(function(){
$('input:not(textarea)').live('keypress', function(e) {
if (e.which == 13) return false;
if (e.which == 13) e.preventDefault();
});
});
只针对输入字段,而不是文本区域。
非查询
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
【讨论】:
<script language="Javascript">
document.onkeydown = function() {
if (event.keyCode == 13) {
if (document.activeElement.tagName.toLowerCase () != "textarea") {
event.preventDefault();
return false;
}
}
}
</script>
这样的?
【讨论】: