TAB键无法在文本框之间切换

时间:2016-06-28 07:29:40

标签: jquery asp.net

我有5个文本框,如名字,姓氏,地址,城市,州。我使用jquery进行验证以限制输入数字和特殊字符。但问题是TAB键无法切换到下一个文本框。这是ASP.NET代码

   <form id="form1" runat="server">
    <div>

        <asp:TextBox runat="server" ID="text_firstname" onkeydown="return keydown(event)" MaxLength="45" />
        <label>Last Name</label>
        <asp:TextBox runat="server" ID="text_lastname" onkeydown="return keydown(event)" MaxLength="45" />
        <label>Address</label>
        <asp:TextBox runat="server" TextMode="MultiLine" ID="text_address" Rows="2" MaxLength="95"></asp:TextBox>
        <label>City</label>
        <asp:TextBox runat="server" ID="text_city" onkeydown="return keydown(event)" MaxLength="45" />
        <label>State</label>
        <asp:TextBox runat="server" ID="text_state" onkeydown="return keydown(event)" MaxLength="45" />

    </div>
</form>

这是我的Jquery

function keydown(e) {
    var key = e.keyCode;
    if (!((key == 8) || (key == 32) || (key == 46) || (key >= 35 && key <= 40) || (key >= 65 && key <= 90))) {
        e.preventDefault();
    }
}

2 个答案:

答案 0 :(得分:3)

您还必须将Tab键(9)添加到代码中。否则e.preventDefault()将阻止标签跳转到下一个字段。

key == 9

答案 1 :(得分:0)

欢呼!!!我明白了......我必须给予

function keydown(e) {
    var key = e.keyCode;
    if (!((key == 8) || (key==9) || (key == 32) || (key == 46) || (key >= 35 && key <= 40) || (key >= 65 && key <= 90))) {
        e.preventDefault();
}

工作正常