我需要Javascript函数来禁用输入密钥
我需要使用JS函数来禁用输入密钥。我目前面临的一个问题,我的春天形式我需要Javascript函数来禁用输入密钥
<form:textarea path="name" onkeypress="return noenter()"
这里是我目前使用
<script> function noenter() { alert("Testing");
return !(window.event && window.event.keyCode == 13);
} </script>
出于某种原因,功能,警报工作时,我按下回车键,但仍面临同样的异常
HTTP状态415 -
类型状态报告
消息
描述,因为该请求实体是在()不是由 请求的资源用于所请求的 方法支持的格式 服务器拒绝该请求 。的Apache Tomcat/6.0.29
仍面临同样的问题。 – 2011-05-16 12:46:14
这应该工作:
标记:
<form:textarea path="name" onkeypress="return noenter(event)">
的JavaScript:
function noenter(e) {
e = e || window.event;
var key = e.keyCode || e.charCode;
return key !== 13;
}
仍然无效,我正在使用Firefox 4.0.1 – 2011-05-16 13:17:08
@Ali检查事件类型和键值。把这个权利放在return语句之前:'alert('e.type:'+ e.type +'; key:'+ key);' - 它应该提醒“keypress”和一个数字。我已经用**现场演示**更新了我的答案。 – 2011-05-16 14:08:31
你需要在keyup和keydown事件中解决这个问题。浏览器使用与实际网页无关的回车键。所以你需要在keyup或keydown事件中停止事件传播。在按键事件发出时,浏览器本身已经收到它,并且无法阻止它进行处理。这是特定于输入键和其他几个。字符键如'a'和'b'不会遇到这个问题。
你应该真的添加一些解释,为什么这应该工作 - 你也可以添加代码以及代码本身的注释 - 目前的形式,它没有提供任何可以帮助其他社区的解释了解你做了什么来解决/回答问题。这对于已经有答案的问题尤其重要。 – ishmaelMakitla 2016-09-30 10:14:59
'window.event'不是跨浏览器,我想。这是一个IE的东西... – 2011-05-16 12:29:19
有没有什么特别的关于您正在使用的textareas?通常,HTML textarea元素将ENTER变成换行符,而不是提交表单,不需要JavaScript。 – 2011-05-16 17:56:41