Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回到上一个输入Javascript_Javascript_Html - Fatal编程技术网

返回到上一个输入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示例,根据您的问题下的注释,该示例具有更好的用户体验。我可以使用答案中的代码获取新问题吗?我的新问题