0

我有四个输入字段(带 id):

数字 1,数字 2,数字 3,数字 4。

我想要一个在 validator() 之后调用的函数。该功能将自动制表,即。将焦点移至下一个字段。

我尝试了以下方法:

  if($('#number').is(':focus')) {
        $("#number2").focus();
    }
    else if($('#number2').is(':focus')) {
        $("#cardnumber3").focus();
    }

    else if($('#number3').is(':focus')) {
        $("#cardnumber4").focus();
    }

但是该函数似乎运行了不止一个 if 函数。所以我的注意力一次从一转移到二到三。

如何实现这个 if 函数一次只运行一个条件?或者有没有更好的方法来关注下一个输入字段。

添加的HTML:

<form>
<div class="col-sm-10">
            <input type="text" class="form-control cardn" id="number" name="number" maxlength= "4">
</div>

4

2 回答 2

0

Add a call back function to focus the next one on the valudator() instead of focus to the next one. The code looks like it's doing just continuosly goes from number1 to number 4.

于 2013-11-14T19:19:28.550 回答
0

如果没有看到你的 html,我会这样写,但你的原始代码应该可以工作——我唯一能想到的是你不止一次调用它:

var $focused = $(":focus");
if($focused.is("#number")) {
    $("#number2").focus();
}
else if($focused.is("#number2")) {
    $("#cardnumber3").focus();
}
else if($focused.is("#number3")) {
    $("#cardnumber4").focus();
}
于 2013-11-14T19:21:23.087 回答