将JQuery与ASP.NET TextBox控件一起使用来切换焦点

Using JQuery with a ASP.NET TextBox Controls to Switch Focus

本文关键字:焦点 一起 控件 JQuery ASP NET TextBox      更新时间:2023-09-26

我已经用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,因此理想情况下,该解决方案应适用于所有浏览器。不过,如果这部分过于复杂,也不用担心。

我希望你能帮忙,非常感谢:)

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

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

但是,您可能需要考虑为该输入添加单独的类,并将其附加到选择器

中的"input"

试试这个:-

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