返回到上一个输入Javascript
键入数字后,它们会自动转到下一个输入。但是,当我从输入中删除它时,如何将它恢复到以前的输入返回到上一个输入Javascript,javascript,html,Javascript,Html,键入数字后,它们会自动转到下一个输入。但是,当我从输入中删除它时,如何将它恢复到以前的输入 (函数(){ var输入=$(“#passForm输入”); 输入。每个(功能(i,项目){ $(项).keyup(函数(){ if($(this.val().length==$(this.attr('maxlength')&&inputs[i+1]){ if(输入[i+1]){ 输入[i+1]。焦点(); } } }); }); }()); 提交 您可以检查以下内容: if ($(this).
(函数(){
var输入=$(“#passForm输入”);
输入。每个(功能(i,项目){
$(项).keyup(函数(){
if($(this.val().length==$(this.attr('maxlength')&&inputs[i+1]){
if(输入[i+1]){
输入[i+1]。焦点();
}
}
});
});
}());代码>
提交
您可以检查以下内容:
if ($(this).val().length == $(this).attr('maxlength') && inputs[i + 1]) {
if (inputs[i + 1]) {
inputs[i + 1].focus();
}
}
要检查您是否在第一个输入中,请不要执行任何操作
这是小提琴:
为了获得更好的用户体验,我会使用单一输入,而不使用JS
提交
添加一个类似的更改处理程序,该处理程序将检查值是否为空。您已经在检查长度了。只需为.length==0
添加一个大小写,并将+
替换为-
,这是一个糟糕的UI。我的意思是客观的。如果我输入了一个数字并试图返回,唯一能改变它的方法就是粘贴正确的值。如果我试图删除它,您想要的逻辑将使我返回到以前的输入。作为一个用户,我不希望键控
?如果使用复制粘贴会怎么样?返回到UI/UX绘图板;)@你能解释一下为什么需要6个字段吗?如果你想对照一个6位数的数字进行检查,你只需一次输入就可以轻松完成。不要把焦点和其他东西搞得乱七八糟。如果设计看起来像6个字段,你可以用CSS中的背景和字母间距轻松复制。我现在理解你了,但是我喜欢6位输入中的设计。我认为它看起来不错。@J.Doe添加了一个jQuery示例,根据您的问题下的注释,该示例具有更好的用户体验。我可以使用答案中的代码获取新问题吗?我的新问题