2012-10-26 13 views
5

我有一組8個複雜表單(70+個字段)用於存儲團隊報告。表格的一部分在表格中有4列寬2高(下面名字和姓氏的名字)。當用戶填寫表單時,tab鍵將它們跨越名字,然後轉到姓氏,因爲這是它們在源中的順序(第一個名稱在一個TR中,而第三個名稱在下一個TR中)。顯然,如果tab鍵從第一個名字轉到最後一個名字,然後轉到下一個名字,我的用戶會更容易。有沒有一種方法可以在HTML表單的某些字段上使用tabindex?

我知道我可以用tabindex來解決這個問題,但我真的不希望tabindex所有500+字段,只是修復這4個字段。

有沒有什麼方法可以tabindex只是表單的一部分?我嘗試過了,但它不會在其他字段中選中。有沒有一些聰明的JS解決方案?或者對這些字段進行分組的方式,所以默認tab鍵會將我帶入組中,然後我可以在那裏使用tabindex?

打電話給我懶惰如果你想..但我試圖拯救自己許多小時的剪切和粘貼和犯錯誤。

乾杯!

+1

顯然,最好更改標記,以便HTML源代碼中的字段順序與預期的填充順序相對應。 –

回答

2

您可以做的最好的是在名稱輸入相同的tabIndex之前給出所有輸入,這比輸入第一個名稱小1,然後在名稱輸入後輸入所有輸入相同的tabIndex比姓氏輸入高1。

<input type="text" tabIndex="1"><br> 
<input type="text" tabIndex="1"><br> 
... 
<table> 
    <tr> 
     <td><input type="text" tabIndex="2"></td> 
     <td><input type="text" tabIndex="4"></td> 
     <td><input type="text" tabIndex="6"></td> 
     <td><input type="text" tabIndex="8"></td> 
    </tr> 
    <tr> 
     <td><input type="text" tabIndex="3"></td> 
     <td><input type="text" tabIndex="5"></td> 
     <td><input type="text" tabIndex="7"></td> 
     <td><input type="text" tabIndex="9"></td> 
    </tr> 
</table> 
<input type="text" tabIndex="10"><br> 
<input type="text" tabIndex="10"><br> 
... 

我覺得這是你要的東西:http://jsfiddle.net/9ffWs/

它仍然會要求你在tabIndex添加到每個輸入,但至少它是非常控制,並應導致沒有錯誤。

+0

不完美..但更容易,然後試圖唯一編號每一個..謝謝 – whiteatom

相關問題