自动跳转表单域(Auto-advance in form fields)

2019-10-17 06:33发布

我有一个简单的脚本输入一个字符后自动将游标前进到下一个字段在我的HTML表单...它为伟大工程。 这是简单的代码:

function autotab(current,to)
{
if (current.getAttribute && current.value.length==current.getAttribute("maxlength")) 
{   
        to.focus()          
    }
}

然后,当然,我用的onkeyup推进,就像这样:

<input onkeyup="autotab(this, document.jumble.w1b)" type="text">

再次,伟大工程。 然而,当我做Shift + Tab键去一个箱回来,它自动的进展之前,我可以输入任何内容。

任何人都不会有如何使Shift + Tab键的工作代码的例子吗? 我曾尝试试图使用键码来检测移和标签不同的变化,但它似乎并没有工作。

任何帮助将不胜感激!

Answer 1:

你应该防止to.focus在的情况下, shift + tab 的jsfiddle

  function autotab(event, current,to)  {
       event = event || window.event;       
       if(event.keyCode < 65  ||  event.keyCode > 90){
         return ;
       }
       if (current.getAttribute && current.value.length==current.getAttribute("maxlength")) 
       {   
         to.focus()          
       }
    }

编辑:在autotab添加事件作为第一个参数: <input onkeyup="autotab(event, this, document.jumble.w1b)" type="text">



文章来源: Auto-advance in form fields