技术开发 频道

Enter键禁止提交表单的方法


【IT168技术文档】

  做web开发的朋友经常会遇到表单提交的问题,有这样一种情景:在一个web页面上有text框等其他控件,当然有用于提交的button,当光标放在 text上时候,enter键入,这时候button会获得焦点,然后提交表单。但是有的时候客户要求并不是这样,需要在enter键入不提交表单。以下的代码可以解决这一问题,在此与大家一起分享。
1 // Find all the <input> tags we need to register an event handler on 2 function OperateEnter() { 3 var inputtags = document.getElementsByTagName("input"); 4 for(var i = 0; i < inputtags.length; i++) { // Loop through all tags 5 var tag = inputtags[i]; 6 if(tag.type != "text" && tag.type != "checkbox") continue; // We only want text and checkbox fields 7 8 // Register our event handler function on this input tag 9 if (tag.addEventListener) { 10 tag.addEventListener("keydown", Filter, false); 11 } else { 12 // We don’t use attachEvent because it does not invoke the 13 // handler function with the correct value of the this keyword. 14 tag.onkeydown = Filter; 15 } 16 } 17 } 18 19 // This is the keypress handler that filters the user’s input 20 function Filter(event) { 21 // Get the event object and character code in a portable way 22 var e = event || window.event; // Key event object 23 var code = e.charCode || e.keyCode; // What key was pressed 24 if (code == 13) { 25 return false; 26 } 27 } 28
0
相关文章