我正在使用此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的复选框,而逻辑上,它是指跳转到text3 tabindex of 3。
我已经完成了各种各样的事情,例如从复选框中删除tabindex,给它最后一个tabindex命令,但它不起作用。
我希望我的插入符号在键入单个字符时跳转,从text2到text3。
答案 0 :(得分:1)
由于输入的顺序,tabindex
的{{1}}实际上对应于text2
集合中从零开始的序数位置(2),导致您关注elements
1}}。您需要在text2
中添加1才能在next
集合中选择text3
。