2

ruby on railsフォームジェネレーターを使って大量の入力フィールドを作成。

Chrome/Firefox では問題なくフォームをタブ移動できますが、IE9 ではタブ移動が壊れています。

そこで、いくつかの調査を行い、tabIndex次のように入力を設定することにしました。

<script>
$(document).ready(function(){
    var isIE = /*@cc_on!@*/false;
    if(isIE){
        var inputs = document.getElementsByTagName("input");
        for (var i = 0; i < inputs.length; i++){
            inputs[i].setAttribute("tabIndex", ""+i+"");
        }
    }
})
</script>

とにかく、かなり迅速な修正です。テストしてinputs、今は持っていtabIndexますが、まだ正しくタブを動かしていません。なぜこれが機能しないのですか?そして、誰かがより良い解決策を持っていますか?

編集:壊れているタブは、この動作を指します:

最初の入力フィールドにヒットしたタブをクリックすると、入力はフォーカスを失いますが、次の入力はフォーカスを得ません。もう一度タブを押すと、再び最初の入力にフォーカスすることになります。これは終わりのないサイクルで繰り返されます。

また、私は入力ではないことを認識しtext-areasselectsいます。この時点で私がやろうとしているのは、ある種のタブ機能を機能させることだけです。これらの要素をスキップしても。

サイトへのリンク:ここで IE9 で開いて、誤ったタブの動作を確認してください。検証プラグイン コードへのリンク:ここ

4

1 に答える 1

0

おそらく代わりに試してみてください

inputs[i].tabIndex = i

ここのMSの例に従って、setAttributeの代わりに:http://msdn.microsoft.com/en-us/library/ie/ms534654(v=vs.85).aspx

于 2013-01-03T18:42:07.243 に答える