我有一个包含 10 位代码的网页,该代码分为两个文本框,第一个文本框有 4 个字符,第二个文本框有 6 个字符。
我一直在尝试实现一些 javascript,以便当用户在第一个文本框中输入第四个字符时,光标会跳转到第二个文本框。
页面布局如下:
<asp:TextBox ID="txtCode1" onkeyup="Next()" runat="server" Width="45" MaxLength="4"/>
<asp:TextBox ID="txtCode2" runat="server" Width="70" MaxLength="6"/>
我正在使用以下 Javascript:
function Next()
{
var control1 = document.getElementById('<%= txtCode1.ClientID %>');
var control2;
if (control1.value.length == 3)
{
control2 = document.getElementById['<%= txtCode2.ClientID %>'];
control2.Focus();
}
}
我的问题是该函数无法识别第二个文本框。如果我单步执行 Javascript 没有问题能够定位txtCode1
并获取长度,但是当长度达到 4 个字符并且它必须填充control2
调用getElementById()
时,它将 control2 设置为未定义,然后 control2.Focus() 调用会引发错误。
我不明白获取 control1 和 control2 的代码是如何相同的,但这不起作用,我错过了什么?