5

我正在制作一个验证密码并显示一些值的 Web 应用程序,有四个密码可用于输入文件 验证它,我正在输入密码,就像我们在支付网关中输入信用卡号一样。在我目前的应用程序中,我输入了一个密码,然后必须按 Tab 或使用鼠标我必须选择下一个文本框才能输入下一个密码,如何使鼠标光标在其最大值后自动从一个文本框跳转到另一个文本框像支付网关一样填写

4

6 回答 6

6

你可以像这样做纯javascript:

<script type="text/javascript">
function ValidatePassKey(tb) {
  if (tb.TextLength >= 4)
    document.getElementById(tb.id + 1).focus();
  }
}
</script>

<input id="1" type="text" onchange="ValidatePassKey(this)" maxlength="4">
<input id="2" type="text" onchange="ValidatePassKey(this)" maxlength="4">
<input id="3" type="text" onchange="ValidatePassKey(this)" maxlength="4">
<input id="4" type="text" maxlength="4">
于 2013-07-08T09:00:50.970 回答
1

在我目前的应用程序中,我输入了一个密码然后必须按 Tab 或使用鼠标我必须选择下一个文本框才能输入下一个密码

不要那样做。只需使用Control.Focus()方法。

在 HTML 中,您可以使用 jQuery 的focus()

$("#textbox").focus();
于 2013-07-08T08:55:44.320 回答
0

您可以在调用方法的文本框上使用 JavaScript 的 Onchange 事件(或 JQuery 可能),您可以在其中检查文本框的值是否等于最大值,然后在下一个文本框上设置焦点。

于 2013-07-08T08:55:10.043 回答
0

在下一个 TextBox 上使用 TextBox.Focus() 方法。使用第一个 TextBox 的 TextBox.TextChanged 事件来测试是否应该更改焦点并在下一个 TextBox 上调用 Focus 方法。

于 2013-07-08T08:55:25.267 回答
0

您也可以创建一个指令来移动位置

<a href="https://plnkr.co/edit/G6sFMM9vaR6nQfVaMI2E?p=preview">directive 1</a>

<a href="https://plnkr.co/edit/G32KUITspNp1qsq6gleI?p=preview">directive 2</a>
于 2016-10-12T09:09:09.343 回答
0
<script type="text/javascript">
$(document).ready(function(){
$("#1").keyup(function(){
    var text_lenght = $('#1').val().length;
    if (text_lenght == 3) {
        $('#2').focus();
    }
});

$("#2").keyup(function(){
    var text_lenght = $('#2').val().length;
    if (text_lenght == 3) {
        $('#3').focus();
    }
});

});
</script>

<input id="1" type="text" class="form-control" name="phone1" maxlength="3" >
<input id="2" type="text" class="form-control" name="phone2" maxlength="3" >
<input id="3" type="text" class="form-control" name="phone3" maxlength="4">
于 2020-10-07T00:02:57.290 回答