javascript用回车键实现Tab键功能

时间:2009-07-05 18:40:00 

先看下面例子的效果:

<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 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!='textarea' && event.srcElement.type!='')
     event.keyCode=9;
-->
</script>

判断是否为button, 是因为在HTML上会有type="button"

判断是否为submit,是因为HTML上会有type="submit"

判断是否为reset,是因为HTML上的"重置"应该要被执行

判断是否为空,是因为对于HTML上的"<a>链接"也应该被执行,这种情况发生的情况不多,可以使用"tabindex=-1"的方式来取消链接获得焦点.

标签:回车键,JavaScript,tab键,功能
0
投稿

猜你喜欢

  • 教程:打造SQL Server2000的安全策略

    2008-12-23 15:52:00
  • 如何在页面中快捷地添加翻页按钮?

    2010-06-26 12:33:00
  • 打分进化史

    2009-12-24 12:20:00
  • ASP编程菜鸟易犯的一个错误

    2008-10-29 13:27:00
  • 网页HTTP header头信息详解

    2010-03-31 14:42:00
  • 简洁js的隔行变色代码

    2008-06-18 18:17:00
  • 选择一个优秀正文字体的15个技巧

    2008-03-20 13:36:00
  • asp函数收藏

    2009-04-21 13:10:00
  • xmlHTTP技术资料

    2008-01-05 13:39:00
  • ASP动态包含文件的改进方法

    2009-01-05 12:22:00
  • javascript对象概念大全

    2009-05-22 18:24:00
  • 如何提高ASP的效率?

    2010-06-07 20:52:00
  • 如何应对SQL Server数据库崩溃

    2008-11-24 17:25:00
  • 评论是倒序好还是顺序好?

    2007-11-09 10:40:00
  • Access保留字和变量名列表

    2007-10-15 12:43:00
  • Sql Server 2005数据库被标记为“可疑”问题

    2009-12-15 10:50:00
  • mysql proxy问题

    2009-02-27 15:54:00
  • asp error对象基础

    2008-08-04 13:25:00
  • Javascript"篱式"条件判断(翻译)

    2008-08-01 12:21:00
  • ASP去掉字符串头尾连续回车和空格的Function

    2011-04-03 11:13:00
  • asp之家 网络编程 m.aspxhome.com