使用Javascript自动将光标移动到下一个表单域

时间:2013-03-11 11:09:46

标签: javascript

当达到Javascipt字段时,是否可以使用maxlength自动将用户从一个字段发送到下一个字段?

如果是这样,怎么样?

6 个答案:

答案 0 :(得分:1)

是。你需要:

  • 监控onkeydown事件,以防止字符“溢出”,
  • 根据您自己的逻辑/结构查找表单中的下一个输入字段 - 如果发生这种情况,
  • 使用focus方法将焦点设置为下一个字段。

答案 1 :(得分:1)

是的,这是可能的。假设您的文本框最大长度为5.您需要创建一个函数onkeyup事件并计算文本框值的长度。在此函数中,如果length等于或大于5,则需要编写第二个文本框焦点函数调用。

答案 2 :(得分:1)

是的,您需要计算onkeyup事件在字段中插入的字符数,如果该数字等于maxlength,则将focus设置为下一个字段

答案 3 :(得分:0)

您可以使用jquery使用这样的代码。在此代码中,当文本大于20个字符时,它将移动到#second字段

<input id="first"/>
<input id="second"/>
<script>
$(function() {
   $('#first').keypress(function() {
      var self = $(this);
      //wait until character is inserted
      setTimeout(function() {
         if (self.val().length > 20) {
            $('#second').focus();
         }
      }, 1);
   });
});
</script>

答案 4 :(得分:0)

$('#productkey1').keyup(function() {
     if(this.value.length >= $(this).attr('maxlength'))
     {
         $('#productkey2').next().focus();
     }
 });

答案 5 :(得分:0)

首先,您需要连接到onfocus事件以获取输入以了解您正在开始测量。然后,您需要使用onkeyup事件检查输入字符的长度。达到限制后,您可以在要将光标移动到的下一个DOM元素上调用focus()。您还需要使用onblur事件来了解您已停止测量输入的长度。

例如,使用jQuery;

<input id="inputA" type="text"/>
<input id="inputB" type="text"/>

<script>

var $input;

$('#inputA').focus(function() {
    $input = $(this);
});

$(window).keyup(function() {
    if($input && $input.val().length == 5) {
        $('#inputB').focus();
    }
});

$('#inputA').blur(function() {
    $input = null;
});

</script>