关键之处在于tabindex,其设计思想是:为每个表单元素设置一个tabindex,其值分别为前一个表单元素的tabindex的值加一,函数的功能就是当用户按下回车键时先将当前tabindex的值加一,而后逐一与每个表单元素的tabindex值进行对比,如若相等,则将焦点移至该表单元素之上。
首先,我们需要在表单体中设定一个onkeyup事件:
<formname="xxx"action="YYY.asp"method="post"onkeyup="returnchangefocus_onkeyup()"language="javascript">
其次,在每一个表单元素中设定一个tabindex值,假定该表单有三个元素,则我们分别设定tabindex值如下:
<inputtype=textname="txtName"size="16"tabindex=1>
<inputtype=checkboxname="chkSign"tabindex=2>
<textareaname="tarContent"tabindex=3>
最后,写出changefocus函数如下:
functionnewinfo_form_onkeyup()
{
key=window.event.keyCode;
if(key==0xD)//判断是否按下回车键
{
CurTabIndex=event.srcElement.tabIndex1//将当前tabindex的值加1
for(n=0;n<newinfo_form.elements.length;n)
{
if(newinfo_form.elements[n].tabIndex==CurTabIndex)//找到下一个表单元素
{
newinfo_form.elements[n].focus();//移动焦点
returntrue;
}
}
}
}