輸入固定字數後自動跳到下一文字框

摘要:輸入固定字數後自動跳到下一文字框

 

在文字輸入框中加上以下指令,就可以讓使用者在輸入4個字元後自動跳至下一方框:

onkeyup="if (event.keyCode==9 || event.keyCode==16) return; if (this.value.length==4) {document.getElementById('ctl00_ContentPlaceHolder1_txtbox2').focus(); document.getElementById('ctl00_ContentPlaceHolder1_txtbox2').select();}"

其中 ctl00_ContentPlaceHolder1_txtbox2 是下一方框的客戶端 ID;4 是代表當輸入字數到達四個字元時自動跳到下一方框。程式一開始要判斷的是 Tab (#9) 鍵和 Shift (#13) 鍵是否被按下,如果使用者按這兩個鍵表示他/她要以手動方式跳到下一控制項或從其它控制項跳回來。如果你不做此判斷,會造成本方框的內容無法再被編輯的後果。
 

如果你要同時限制使用者只能輸入數字,則可以加上下列指令:

onkeypress="if (event.keyCode < 48 || event.keyCode > 57) return false;"

如果你不需要判斷使用者輸入幾個字元後自動跳到下一控制項,而只想讓使用者以 Enter 鍵取代 Tab 鍵,則可以使用以下指令:

onkeyup="if (event.keyCode==13) event.keyCode=9;" 

以上各指令都可以直接加在 ASP.NET 的 TextBox 控制項中。雖然在 IDE 中會看到代表錯誤的紅蚯蚓底線,但執行時是完全正常的。


Dev 2Share @ 點部落