当前位置:asp编程网>技术教程>Javascript教程>  正文

javascript用回车键实现Tab键功能

2008-03-06 09:50:55   来源:站长设计    作者:佚名   浏览量:2063   收藏
先看下面例子的效果:
  <INPUT TYPE="text" NAME=""><br>
  <INPUT TYPE="text" NAME=""><br>
  <INPUT TYPE="text" NAME=""><br>
  <INPUT TYPE="text" NAME=""><br>
  <INPUT TYPE="text" NAME=""><br>
  <INPUT TYPE="text" NAME=""><br>
  <INPUT TYPE="text" NAME=""><br>
  <INPUT TYPE="text" NAME=""><br>
<script language="javascript" for="document" event="onkeydown">
<!--
  if(event.keyCode==13)
     event.keyCode=9;
-->
</script>

原理:
如何让"回车键"使文本框的焦点一个个下移.其中提了三种方法,最好的一种是这样的:

 用客户端脚本在页面添加document的onkeydown事件,让页面在接受到回车事件后,进行Tab键的功能,即只要把event的keyCode由13变为9

 VBScript代码:
 <script language="vbscript">
 sub document_onkeydown
    if event.keyCode=13 then
      event.keyCode=9
    end if
 end sub
</script>
Javascript代码如下:
<script language="javascript" for="document" event="onkeydown">
<!--
  if(event.keyCode==13)
     event.keyCode=9;
-->
</script>
这样的处理方式,可以实现焦点往下移动,但对于按钮也起同样的作用,一般的客户在输入完资料以后,跳到按钮后,最好能直接按"回车"进行数据的提交.因此,对上面的方法要进行一下修改,应该对于"提交"按钮不进行焦点转移.而直接激活提交.

因此我对上面的代码进行了一个修改,即判断事件的"源",是否为提交按钮,代码如下:
<script language="javascript" for="document" event="onkeydown">
<!--
  if(event.keyCode==13 &#38;&#38; event.srcElement.type!='button' &#38;&#38; event.srcElement.type!='submit' &#38;&#38; event.srcElement.type!='reset' &#38;&#38; event.srcElement.type!='textarea' &#38;&#38; event.srcElement.type!='')
     event.keyCode=9;
-->
</script>
判断是否为button, 是因为在HTML上会有type="button"
判断是否为submit,是因为HTML上会有type="submit"
判断是否为reset,是因为HTML上的"重置"应该要被执行
判断是否为空,是因为对于HTML上的"<a>链接"也应该被执行,这种情况发生的情况不多,可以使用"tabindex=-1"的方式来取消链接获得焦点.



关于我们-广告合作-联系我们-积分规则-网站地图

Copyright(C)2013-2017版权所属asp编程网