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

关键之处在于tabindex,其设计思想是:为每个表单元素设置一个tabindex,其值分别为前一个表单元素的tabindex的值加一,函数的功能就是当用户按下回车键时先将当前tabindex的值加一,而后逐一与每个表单元素的tabindex值进行对比,如若相等,则将焦点移至该表单元素之上。

首先,我们需要在表单体中设定一个onkeyup事件:

 1<form action="YYY.asp" language="javascript" method="post" name="xxx" onkeyup="return changefocus_onkeyup()">   
 2  
 3其次,在每一个表单元素中设定一个tabindex值,假定该表单有三个元素,则我们分别设定tabindex值如下:   
 4<input name="txtName" size="16" tabindex="1" type="text"/>
 5<input name="chkSign" tabindex="2" type="checkbox"/>
 6<textarea name="tarContent" tabindex="3">   
 7  
 8最后,写出changefocus函数如下:   
 9function newinfo_form_onkeyup()   
10{   
11key=window.event.keyCode;   
12if(key==0xD)//判断是否按下回车键   
13{   
14CurTabIndex=event.srcElement.tabIndex+1//将当前tabindex的值加1   
15for (n=0;n&lt;newinfo_form.elements.length;n++)   
16{   
17if (newinfo_form.elements[n].tabIndex==CurTabIndex) //找到下一个表单元素   
18{   
19newinfo_form.elements[n].focus(); //移动焦点   
20return true;   
21}   
22}   
23}   
24}</textarea></form>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus