-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 中输入单个字符 ( maxlength="1") 时,它会跳转到 tabindex 为 4 的复选框,而从逻辑上讲,它意味着跳转到 tabindex 为 3 的 text3。

我做了各种各样的事情,比如从复选框中删除 tabindex,给它最后一个 tabindex 顺序,但它不起作用。

我希望我的插入符号在输入单个字符时从 text2 跳转到 text3。

4

1 回答 1

1

由于输入的顺序,tabindexoftext2实际上对应于它在elements集合中从零开始的序数位置 (2),从而使您专注于text2. 您需要添加 1 才能在集合next中进行选择。text3elements

于 2013-06-12T20:28:53.237 回答