表单填写时用回车代替TAB的实现方式

发表于:2007-06-30来源:作者:点击数: 标签:
关键之处在于tabindex,其设计思想是:为每个表单元素设置一个tabindex,其值分别为前一个表单元素的tabindex的值加一,函数的功能就是当用户按下回车键时先将当前tabindex的值加一,而后逐一与每个表单元素的tabindex值进行对比,如若相等,则将焦点移至该
     关键之处在于tabindex,其设计思想是:为每个表单元素设置一个tabindex,其值分别为前一个表单元素的tabindex的值加一,函数的功能就是当用户按下回车键时先将当前tabindex的值加一,而后逐一与每个表单元素的tabindex值进行对比,如若相等,则将焦点移至该表单元素之上。
  
   首先,我们需要在表单体中设定一个onkeyup事件:
   <form name="xxx" action="YYY.asp" method="post" onkeyup="return changefocus_onkeyup()" language="javascript">
  
   其次,在每一个表单元素中设定一个tabindex值,假定该表单有三个元素,则我们分别设定tabindex值如下:
   <input type=text name="txtName" size="16" tabindex=1>
   <input type=checkbox name="chkSign" tabindex=2>
   <textarea name="tarContent" tabindex=3>
  
   最后,写出changefocus函数如下:
   function newinfo_form_onkeyup()
   {
   key=window.event.keyCode;
   if(key==0xD)//判断是否按下回车键
   {
   CurTabIndex=event.srcElement.tabIndex+1//将当前tabindex的值加1
   for (n=0;n<newinfo_form.elements.length;n++)
   {
   if (newinfo_form.elements[n].tabIndex==CurTabIndex) //找到下一个表单元素
   {
   newinfo_form.elements[n].focus(); //移动焦点
   return true;
   }
   }
  }
  }
  

原文转自:http://www.ltesting.net