Javascript document.getElementById用于一个表单元素,但不用于另一个表单元素
我有一个网页,它有一个10位数的代码,分为两个文本框,第一个文本框4个字符,第二个文本框6个字符 我一直在尝试实现一些javascript,这样当用户在第一个文本框中输入第四个字符时,光标就会跳到第二个文本框 页面布局如下:Javascript document.getElementById用于一个表单元素,但不用于另一个表单元素,javascript,asp.net,Javascript,Asp.net,我有一个网页,它有一个10位数的代码,分为两个文本框,第一个文本框4个字符,第二个文本框6个字符 我一直在尝试实现一些javascript,这样当用户在第一个文本框中输入第四个字符时,光标就会跳到第二个文本框 页面布局如下: <asp:TextBox ID="txtCode1" onkeyup="Next()" runat="server" Width="45" MaxLength="4"/> <asp:TextBox ID="txtCode2" runat="serve
<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();
}
}
函数Next()
{
var control1=document.getElementById(“”);
var控制2;
if(control1.value.length==3)
{
control2=document.getElementById[“”];
控件2.Focus();
}
}
我的问题是该函数无法识别第二个文本框。如果我一步一步地浏览Javascript,就可以找到txtCode1
并获取长度,但是当长度达到4个字符时,它必须用getElementById()
调用填充control2
,它将control2设置为未定义,然后control2.Focus()调用抛出错误
我不明白获取control1和control2的代码是如何相同的,但这不起作用,我遗漏了什么?在第二次调用中,您使用的是方括号而不是括号。在第一次通话中,您正确地使用了它 此外,正如Dontglastic在下面的评论中指出的,您应该使用
.focus()
(小写)而不是.focus()
因此,第二个if
块中的代码应该是:
control2 = document.getElementById('<%= txtCode2.ClientID %>');
control2.focus();
control2=document.getElementById(“”);
控件2.focus();
getElementById
是一个函数,而不是数组
使用()
而不是[]
另外,在JavaScript中,DOM元素有一个focus
方法,而不是focus
方法
更正代码:
control2 = document.getElementById('<%= txtCode2.ClientID %>');
control2.focus();
control2=document.getElementById(“”);
控件2.focus();
control2=document.getElementById['']代码>
应该是
control2 = document.getElementById('<%= txtCode2.ClientID %>');
^ paren ^ paren
control2=document.getElementById(“”);
^帕伦^帕伦
他还想调用focus()
,而不是focus()
@T.J.Crowder。。。我在iPad上!:)嗯,我确实复制并粘贴了他的代码。让我慢了那么多@谢谢,我在答案中加了这个。@bfavareto Nice,再加上一个,兄弟!阿瑞尔格。真不敢相信我错过了!谢谢谢谢大家的帮助,真不敢相信我错过了。我敢打赌,如果有人发了这个问题,我一定会马上发现错误。