阻止点击回车实现的表单提交代码实例
分类:实例代码
本章节分享一段代码实例,它实现了阻止点击回车提交表单的功能。
代码实例如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.pipipi.net/" /> <title>前端教程网</title> <script type="text/javascript"> function enter_down(ev){ var ev=window.event||ev; if(ev.keyCode==13){ stopDefault(ev); } } function stopDefault(ev){ if(ev&&ev.preventDefault){ ev.preventDefault(); } else{ window.event.returnValue=false; } return false; } window.onload=function(){ var form=document.getElementById("myform"); form.onkeydown=function(ev){ enter_down(ev) } } </script> </head> <body> <form id="myform" action="pipipi.net"> <input type="text" name="name"/> <input type="text" name="name"/> <input type="submit" id="bt" value="提交表单"/> </form> </body> </html>
上面的代码实现了我们的要求,点击回车也不会提交表单,下面介绍一下它的实现过程。
一.实现原理:
当表单获取焦点的时候,点击回车提交表单是浏览器的一个默认动作,所以只要取消这个默认动作就可以消除此现象,具体如何实现看下面的代码注释和相关阅读。
二.代码注释:
(1).function enter_down(ev){},函数的参数是事件对象。(2).var ev=window.event||ev,实现兼容所有浏览器的事件对象。
(3).if(ev.keyCode==13){ stopDefault(ev);
},如果按键码等于13,也就是说点击了回车键,那么就调用stopDefault(),此函数阻止默认动作的发生。
(4).function stopDefault(ev){
if(ev&&ev.preventDefault){
ev.preventDefault();
}
else{
window.event.returnValue=false;
}
return false;
}此函数实现了阻止默认动作的功能,里面是进行的兼容性处理。
三.相关阅读:
(1).var ev=window.event||ev可以参阅var ev=window.event||ev的作用是什么一章节。
(2).keyCode可以参阅javascript keyCode属性一章节。
(3).preventDefault()可以参阅javascript preventDefault()一章节。
(4).returnValue可以参阅js returnValue属性一章节。