-1

次のフィールドに自動的にジャンプするために、この JavaScript を使用しています。

    <script>
    function checkLen(x,y)
    {
    if (y.length==x.maxLength)
      {
      var next=x.tabIndex;
      if (next<document.getElementById("formid").length)
        {
        document.getElementById("formid").elements[next].focus();
        }
      }
    }
    </script>

これが私のフォームです:

<form action="random.php" id="formid" method="post">
   <input type="checkbox" name="cbox" tabindex="4" />Default
   <input type="text" name="text1" id="text1" tabindex="1" />
   <input type="text" name="text2" id="text2" tabindex="2" maxlength="1" onkeyup="checkLen(this,this.value)" />
   <input type="text" name="text3" id="text3" tabindex="3" />
</form>

text2 に 1 文字 ( maxlength="1") を入力し終えると、tabindex が 4 のチェックボックスにジャンプしますが、論理的には、tabindex が 3 の text3 にジャンプすることを意味します。

チェックボックスからタブインデックスを削除したり、最後のタブインデックスの順序を付けたりするなど、あらゆる種類のことを行いましたが、機能していません。

テキスト 2 からテキスト 3 に 1 文字を入力すると、キャレットがジャンプします。

4

1 に答える 1

1

入力の順序により、tabindextext2実際にはコレクション内の 0 から始まる序数の位置 (2) に対応するため、elementsに集中できますtext2。コレクション内でnext選択するには、に 1 を追加する必要があります。text3elements

于 2013-06-12T20:28:53.237 に答える