我需要Javascript函数来禁用回车键

时间:2011-05-16 12:26:56

标签: javascript

我需要使用JS函数来禁用回车键。我目前正面临着我的Spring表单的问题

<form:textarea path="name" onkeypress="return noenter()"

这是我目前使用的功能

<script> function noenter() {   alert("Testing");
    return !(window.event && window.event.keyCode == 13); 
    } </script>

出于某种原因,当我按下Enter键但仍然面临相同的异常

时,警报正在工作
  

HTTP状态415 -

     

输入状态报告

     

消息

     

描述服务器拒绝了这一点   请求,因为请求实体是   以不支持的格式   请求的资源   方法 ()。 Apache Tomcat / 6.0.29

3 个答案:

答案 0 :(得分:11)

这应该有效:

标记:

<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; 
}

现场演示: http://jsfiddle.net/Fj3Mh/

答案 1 :(得分:1)

你需要在keyup和keydown事件中解决这个问题。浏览器使用独立于实际网页的回车键。因此,您需要在keyup或keydown事件中停止事件传播。当按键事件被发出时,浏览器本身已经收到它,并且没有办法阻止它处理。这特定于输入键和其他一些键。诸如“a”和“b”之类的字符键不会遇到这个问题。

答案 2 :(得分:0)

<script type="text/javascript"> 

function stopRKey(evt) { 
  var evt = (evt) ? evt : ((event) ? event : null); 
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); 
  if ((evt.keyCode == 13) && (node.type=="text"))  {return false;} 
} 

document.onkeypress = stopRKey; 

</script>