Gra*_*ush -1 javascript asp.net
我有一个网页,它采用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"/>
Run Code Online (Sandbox Code Playgroud)
我正在使用以下Javascript:
function Next()
{
var control1 = document.getElementById('<%= txtCode1.ClientID %>');
var control2;
if (control1.value.length == 3)
{
control2 = document.getElementById['<%= txtCode2.ClientID %>'];
control2.Focus();
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是该函数无法识别第二个文本框.如果我通过JavaScript的步骤没有问题是能够找到txtCode1并获得了长度,但当长度命中4个字符,它有填充control2用getElementById()它设置控制2为未定义,然后control2.Focus()调用抛出一个错误的呼叫.
我不明白获取control1和control2的代码是如何相同但这不起作用,我错过了什么?
getElementById 是一个函数,而不是一个数组.
使用()不[].
此外,在JavaScript中,DOM元素有focus方法,而不是Focus方法.
更正代码:
control2 = document.getElementById('<%= txtCode2.ClientID %>');
control2.focus();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
301 次 |
| 最近记录: |