JS Enter键实现Tab键功能

本文介绍了一种使用JavaScript阻止HTML表单默认通过Enter键提交的方法,并提供了跨浏览器兼容的实现方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<form>
<input name="" type="text" />
<input name="" type="text" /><input name="" type="text" /><input name="" type="text" /><input name="" type="text" /><input name="" type="text" />
<input name="" type="text" /><input type="button" /><input type="password" />
</form>
</body>
</html>

<script language="javascript">
document.onkeydown=function(evt){
 //document.all可以判断浏览器是否是IE,是页面内所有元素的一个集合
 var isie = (document.all) ? true : false;
 var key;
 var srcobj;
 // if the agent is an IE browser, it's easy to do this.
 if (isie) {
  key = event.keyCode;
  srcobj=event.srcElement;//event.srcElement,触发这个事件的源对象
 }
 else {
  key = evt.which;
  srcobj=evt.target;//target是Firefox下的属性
 }
 if(key==13 && srcobj.type!='button' && srcobj.type!='submit' &&srcobj.type!='reset' && srcobj.type!='textarea' && srcobj.type!='') {
  if(isie)
   event.keyCode=9;//设置按键为tab键
  else {
   var el=getNextElement(evt.target);
   if (el.type!='hidden')
    ;   //nothing to do here.
   else
    while(el.type=='hidden')
     el=getNextElement(el);
   if(!el)
    return false;
   else
    el.focus();
  }
 }
}

 

function getNextElement(field) {
 var form = field.form;
 for(var e = 0; e < form.elements.length; e++) {
  if (field == form.elements[e])
  break;
 }
 return form.elements[++e % form.elements.length];
}

</script>

转载于:https://www.cnblogs.com/zhangzhiping35/p/10673670.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值