使用 JQuery 和 ASP.NET 文本框控件来切换焦点

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

我在 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();
    }
 });