达到MaxLength时触发自动选项卡(asp:TextBox)?

时间:2017-10-06 13:46:39

标签: javascript c# html asp.net

我有2个文本框控件。长度为6的另一个为2。两者都只接受数字。当第一个文本框达到6位数时,我想移动到第二个文本框(一种Tab功能)。任何帮助?

<script type="text/javascript">
            function change(obj, l) {
                var txt = obj.value;

                if (txt.length == l) {
                    document.getElementById("<%=txtSearchSchoolBranchDOECode.ClientID %>").focus();
                }
            }
</script>

    <td>
    <asp:TextBox ID="txtSearchSchoolDOECode" MaxLength="6" Style="width: 75px;" runat="server" onkeyup="change(this,6)"
                                                CssClass="text"></asp:TextBox>
<asp:FilteredTextBoxExtender ID="txtSearchSchoolDOECode_FilteredTextBoxExtender" runat="server"
                                                Enabled="True" TargetControlID="txtSearchSchoolDOECode" FilterType="Numbers">
                                            </asp:FilteredTextBoxExtender>
                                            -
                                        <asp:TextBox ID="txtSearchSchoolBranchDOECode" MaxLength="2" Style="width: 25px;"
                                            runat="server" CssClass="text"></asp:TextBox>
                                            <asp:FilteredTextBoxExtender ID="txtSearchSchoolBranchDOECode_FilteredTextBoxExtender1" runat="server"
                                                Enabled="True" TargetControlID="txtSearchSchoolBranchDOECode" FilterType="Numbers">
                                            </asp:FilteredTextBoxExtender>
</td>

我唯一的问题是,当我在文本框1中已有6位数字时,Shift Tab不起作用。箭头键也无法按预期在键盘中工作..

1 个答案:

答案 0 :(得分:0)

我使用oninput(支持HTML 5)而不是onkeyup,它按预期工作。