【发布时间】:2019-03-15 19:48:41
【问题描述】:
有一个包含六个条目的输入。如果所需的数字直接粘贴到输入中..
123456
将数字粘贴到第一个框中时,如何将它们分配给其他框?
var $inp = $(".passInput");
$inp.on({
input: function(ev) {
if(this.value) {
$inp.eq($inp.index(this) + 1).focus();
}
},
keydown: function(ev) {
var i = $inp.index(this);
if(ev.which===8 && !this.value && i) {
$inp.eq(i - 1).focus();
}
}
});
.passInput {text-align: center;}
<form action="" role="form" method="post" id="passForm">
<input type="text" class="passInput" name="pass[]" maxLength="1" size="1" autocomplete="off" min="0" max="9" required pattern="\d{1}" autofocus>
<input type="text" class="passInput" name="pass[]" maxLength="1" size="1" autocomplete="off" min="0" max="9" required pattern="\d{1}">
<input type="text" class="passInput" name="pass[]" maxLength="1" size="1" autocomplete="off" min="0" max="9" required pattern="\d{1}">
<input type="text" class="passInput" name="pass[]" maxLength="1" size="1" autocomplete="off" min="0" max="9" required pattern="\d{1}">
<input type="text" class="passInput" name="pass[]" maxLength="1" size="1" autocomplete="off" min="0" max="9" required pattern="\d{1}">
<input type="text" class="passInput" name="pass[]" maxLength="1" size="1" autocomplete="off" min="0" max="9" pattern="\d{1}">
<button type="submit" class="btn btn-lg btn-primary">SUBMIT</button>
</form>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
感谢 Roko C. Buljan 帮助开发代码
P.S.:我已经查看了问题的答案。但我意识到它不起作用。
【问题讨论】:
-
仅粘贴还是在输入更改时粘贴?
-
并非所有数字都在框中。仅粘贴了第一个数字@GetOffMyLawn
-
我之前看过这个问题的答案,但它在演示中不起作用。 @BStill
-
@BStill Demo 太好了,谢谢!
标签: javascript html