關鍵之處在於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;
}
}
}
}