使用带有ASP.NET TextBox控件的JQuery来切换焦点

时间:2015-06-26 13:34:30

标签: javascript jquery asp.net textbox user-controls

我在ASP.NET(VB)中编写了一个用户登录屏幕。在用户名和密码屏幕之后,用户需要输入其PIN的两个随机数字。

此表单上有两个ASP:TextBox控件,名为PIN1TextBox和PIN2TextBox,两个对象的最大长度均为1.

我想知道在将单个字符输入PIN1TextBox之后如何自动将焦点设置为PIN2TextBox,例如它跳起了焦点。

<asp:TextBox ID="PIN1TextBox" TextMode="Password" AutoCompleteType="Disabled" MaxLength="1" runat="server" style="border-color:#A5A3A3;border-style:solid; border-width:1px; width:20px; text-align:center;"></asp:TextBox>

<asp:TextBox ID="PIN2TextBox" TextMode="Password" AutoCompleteType="Disabled" MaxLength="1" runat="server" style="border-color:#A5A3A3;border-style:solid; border-width:1px; width:20px; text-align:center;"></asp:TextBox>

该网站支持跨浏览器,例如IE,Chrome,Firefox和Safari理想情况下,该解决方案应适用于所有浏览器。不过不担心这部分是否过于复杂。

我希望你能提供帮助,非常感谢:)

2 个答案:

答案 0 :(得分:2)

我可以制作一个jquery解决方案

$('input').keyup(function () {
    if ($(this).val().trim()) {
        var $next = $(this).next('input');
        $next.focus();
    }
});

但您可能想考虑为此输入添加单独的类并将其附加到选择器中的“输入”

答案 1 :(得分:1)

试试这个: -

$("#<%= PIN1TextBox.ClientID %>").keyup(function () {
   if ($(this).val().length >= 1) {
      $("#<%= PIN2TextBox.ClientID %>").focus();
    }
 });