2012-10-26 3 views
5

チームレポートを格納するための8つの複合フォーム(70+フィールド)のセットがあります。フォームのセクションには、幅が4列、高さが2のテーブル(下の姓と名字)にチームメンバ名があります。ユーザーがフォームに記入すると、Tabキーが最初の名前を横切ってそれらを取り、それがソースにある順序(1つのTR内の最初の名前と次のTR内の最後の名前)のため、最後の名前に移動します。明らかに、タブキーが最初の姓から最後の名前に、そして次の最初の名前に向かうと、ユーザーにとってはより簡単になります。には、HTMLフォームの一部のフィールドにのみtabindexを使用する方法がありますか?

私はこれをtabindexで修正できますが、実際にはすべての500+フィールドをtabindexする必要はありません。これらの4つのフィールドを修正するだけです。

フォームの一部だけをtabindexできる方法はありますか?私はそれを試しましたが、それは他のフィールドにタブしません。賢明なJSソリューションがありますか?またはこれらのフィールドをグループ化する何らかの方法で、デフォルトのタブでグループ化された後、そこにtabindexできますか?

私はあなたが欲しいならば怠惰に電話してください。しかし、私は自分自身を長持ちさせ、過ちを犯して間違いを犯しています。

乾杯!

+1

明らかに、HTMLソース内のフィールドの順序が意図した塗りつぶしの順序に対応するようにマークアップを変更する方がよいでしょう。 –

答えて

2

あなたができることは、名前が最初の名前の入力よりも1少ない同じtabIndexを入力する前にすべての入力を与えてから、名前が同じ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

関連する問題