很多羅嗦的客戶,喜歡提出這些需求!其實實現也不難!代碼如下:
我前段時間看了MS的ASP.NET講座,在裡面談到了如何讓"斷行符號鍵"使文字框的焦點一個個下移.其中提了三種方法,最好的一種是這樣的:
用用戶端指令碼在頁面添加document的onkeydown事件,讓頁面在接受到斷行符號事件後,進行Tab鍵的功能,即只要把event的keyCode由13變為9
VBScript代碼:
<script language="vbscript">
sub document_onkeydown
if event.keyCode=13 then
event.keyCode=9
end if
end sub
</script>
Javascript代碼如下:
<script language="javascript" for="document" event="onkeydown">
<!--
if(event.keyCode==13)
event.keyCode=9;
-->
</script>
這樣的處理方式,可以實現焦點往下移動,但對於按鈕也起同樣的作用,一般的客戶在輸入完資料以後,跳到按鈕後,最好能直接按"斷行符號"進行資料的提交.因此,對上面的方法要進行一下修改,應該對於"提交"按鈕不進行焦點轉移.而直接啟用提交.
因此我對上面的代碼進行了一個修改,即判斷事件的"源",是否為提交按鈕,代碼如下:
<script language="javascript" for="document" event="onkeydown">
<!--
if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!='textarea' && event.srcElement.type!='')
event.keyCode=9;
-->
</script>
判斷是否為button, 是因為在HTML上會有type="button"
判斷是否為submit,是因為HTML上會有type="submit"
判斷是否為reset,是因為HTML上的"重設"應該要被執行
判斷是否為空白,是因為對於HTML上的"<a>連結"也應該被執行,這種情況發生的情況不多,可以使用"tabindex=-1"的方式來取消連結獲得焦點.