回车实现Tab 键 功能

来源:互联网 发布:淘宝 大码女装冬季 编辑:程序博客网 时间:2024/06/05 17:31

最近在客户那边实施个项目,发现他们用Enter 键的熟练程度简直让人无法想像..一个收汇单,填两栏数据,操作是点确认或者退回,可能刚开始做的时候,光标默认是在退回按钮上的。结果让他们退回了5次,也没有填上要求的两个数据..<br />没办法,只能让他们拿回车当TAB用,他们也强烈这样要求。。

网上找到了个用脚本解决的办法.:
用客户端脚本在页面添加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"的方式来取消链接获得焦点.

 

原创粉丝点击