如何使Asp.Net頁面上的TextBox按下Enter時自動跳下一個註點呢
function EnterToTab() { if(event.keyCode==13) event.keyCode=9; } </script>
在TextBox上加入onkeydown="EnterToTab();"的屬性 這樣就可以囉~
想要每一個 Text Box 的 onkeydown 事件都 Handle 則可以
</script>
想要按上鍵能夠跳上一個TextBox則可以在上述的Function中加下下列判斷 if(event.keyCode==38) //按下上鍵
為可使Chrome 及 FireFox 支援 不能直接改Tab 所以改成下列方式
<script language=javascript> window.onload = function init() //視窗載入完成時 { var inputs = document.getElementsByTagName("input"); //取得所有的input for(i=0;i<inputs.length;i++) //對每一個input if(/^text/.test( inputs[i].type)) //如果是Text box if(inputs[i].attachEvent) inputs[i].attachEvent("onkeydown", EnterToSibling); //加入onkeydown 事件時做EnterToTab else if(inputs[i].addEventListener) inputs[i].addEventListener("keydown", EnterToSibling, true); //加入onkeydown 事件時做EnterToTab } function EnterToSibling(ev) { var Source = ev.srcElement ? ev.srcElement : ev.target if(ev.keyCode==13) SearchSibling(true,Source).focus(); if(ev.keyCode==38) //按下上鍵 SearchSibling(false,Source).focus(); //則上一個TextBox取得駐點 } function SearchSibling(IsNext, Source) { var inputs = document.getElementsByTagName("input"); //取得所有的input for(i=0;i<inputs.length;i++) //對每一個input if(/^text/.test( inputs[i].type)) //如果是Text Box if(inputs[i]==Source) //如果是按下按鍵的Text Box { if(!IsNext && (i > 0)) return inputs[i-1]; else if(IsNext && (i + 1) < inputs.length) return inputs[i+1]; else return Source; } |
|