阻止点击回车实现的表单提交代码实例

快乐打工仔 分类:实例代码

本章节分享一段代码实例,它实现了阻止点击回车提交表单的功能。

代码实例如下:

<!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属性一章节。

回复

我来回复
  • 暂无回复内容