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