Javascript 按键将焦点文本框设置为ON

Javascript 按键将焦点文本框设置为ON,javascript,asp.net,textbox,Javascript,Asp.net,Textbox,我正在写支付页面,有4个文本框用于输入信用卡号码,之后用于设置数字,请关注我为第一个文本框所做的另一个控件我的javascript代码运行良好,但其他文本框不起作用。。。这是我的密码…: <script type="text/javascript"> function Length_txtCardNumber1_Validator() { if (document.getElementById('<%= txtCardNumber1.ClientID %

我正在写支付页面,有4个文本框用于输入信用卡号码,之后用于设置数字,请关注我为第一个文本框所做的另一个控件我的javascript代码运行良好,但其他文本框不起作用。。。这是我的密码…:

<script type="text/javascript">
    function Length_txtCardNumber1_Validator() {
        if (document.getElementById('<%= txtCardNumber1.ClientID %>').value.length = 4) {
            document.getElementById('<%= txtCardNumber2.ClientID %>').focus();
            return (false);
        }
        return (true);
    }


    function Length_txtCardNumber2_Validator() {
        if (document.getElementById('<%= txtCardNumber2.ClientID %>').value.length = 4) {
            document.getElementById('<%= txtCardNumber3.ClientID %>').focus();
            return (false);
        }
        return (true);
    }

    function Length_txtCardNumber3_Validator() {
        if (document.getElementById('<%= txtCardNumber3.ClientID %>').value.length = 4) {
            document.getElementById('<%= txtCardNumber4.ClientID %>').focus();
            return (false);
        }
        return (true);
    }
</script>
谢谢…

使用==进行比较

function Length_txtCardNumber3_Validator() {
    if (document.getElementById('<%= txtCardNumber3.ClientID %>').value.length == 4) {
        document.getElementById('<%= txtCardNumber4.ClientID %>').focus();
        return (false);
    }
    return (true);
}
函数长度\u txtCardNumber3\u验证器(){
if(document.getElementById(“”).value.length==4){
document.getElementById(“”).focus();
返回(假);
}
返回(真);
}
使用==进行比较

function Length_txtCardNumber3_Validator() {
    if (document.getElementById('<%= txtCardNumber3.ClientID %>').value.length == 4) {
        document.getElementById('<%= txtCardNumber4.ClientID %>').focus();
        return (false);
    }
    return (true);
}
函数长度\u txtCardNumber3\u验证器(){
if(document.getElementById(“”).value.length==4){
document.getElementById(“”).focus();
返回(假);
}
返回(真);
}
您可以使用“通用”代码,而无需依赖文本框的ID或名称,并且只允许使用数字作为奖励

首先,使用单个容器包装所有文本框,并将其设置为
maxlength
,如下所示:

<div id="CreditCardPanel">
    <asp:Textbox id="txtCardNumber1" runat="server" Columns="3" MaxLength="4" /> -
    <asp:Textbox id="txtCardNumber2" runat="server" Columns="3" MaxLength="4" /> -
    <asp:Textbox id="txtCardNumber3" runat="server" Columns="3" MaxLength="4" /> -
    <asp:Textbox id="txtCardNumber4" runat="server" Columns="3" MaxLength="4" />
</div>

,尝试混淆视听,了解代码的工作原理。:)

您可以使用“通用”代码,而无需依赖文本框的ID或名称,并且只允许数字作为奖励

首先,使用单个容器包装所有文本框,并将其设置为
maxlength
,如下所示:

<div id="CreditCardPanel">
    <asp:Textbox id="txtCardNumber1" runat="server" Columns="3" MaxLength="4" /> -
    <asp:Textbox id="txtCardNumber2" runat="server" Columns="3" MaxLength="4" /> -
    <asp:Textbox id="txtCardNumber3" runat="server" Columns="3" MaxLength="4" /> -
    <asp:Textbox id="txtCardNumber4" runat="server" Columns="3" MaxLength="4" />
</div>


,尝试混淆视听,了解代码的工作原理。:)

我将keyup事件绑定到文本框

        $('#ccNumber1').bind('keyup',function () {
            if ($(this).val().length == 4)
                $('#ccNumber2').focus();
        });

我将keyup事件绑定到文本框

        $('#ccNumber1').bind('keyup',function () {
            if ($(this).val().length == 4)
                $('#ccNumber2').focus();
        });

zozo answer应该可以解决您当前的问题,您可以改进代码,使其更“通用”,如果感兴趣,请告诉我们。当然,我想。。。我该怎么办…看看我的答案。:)顺便说一句,当你在评论中回复时,请使用
@
通知人们,否则大多数人不会回来,因为他们看不到你发布了评论。@shadowwizard,:D thx。。。很高兴知道这一点……没问题,只有你是懒惰型人才可以使用前3个字母。:)zozo answer应该可以解决您当前的问题,您可以改进代码,使其更“通用”,如果感兴趣,请告诉我们。当然,我想。。。我该怎么办…看看我的答案。:)顺便说一句,当你在评论中回复时,请使用
@
通知人们,否则大多数人不会回来,因为他们看不到你发布了评论。@shadowwizard,:D thx。。。很高兴知道这一点……没问题,只有你是懒惰型人才可以使用前3个字母。:)thx很多。。。但如果条件不起作用。。。每次按下一个键,焦点都会发生变化…以修复您可以在指定字段上使用onkeyup事件,而不是在页面加载代码上使用onkeyup事件的问题。我们应该做到这一点。thx很多。。。但如果条件不起作用。。。每次按下一个键,焦点都会发生变化…以修复您可以在指定字段上使用onkeyup事件,而不是在页面加载代码上使用onkeyup事件的问题。我们应该做到这一点@当然可以,没问题。:)@当然可以,没问题。:)