当前位置: 首页 > 知识库问答 >
问题:

填充4个字符后如何移动下一个输入页签

皇甫繁
2023-03-14

我试过下面的代码,

    (function (){
$("#num1, #num2, #num3, #num4").on("keyup", function (t) {
    //add the key's you want to accept such as backspace or arrow keys etc.
    if (t.keyCode != 13 && t.keyCode != 8 && t.keyCode != 37 && t.keyCode != 38 && t.keyCode != 39 && t.button != 1 && t.button != 2 && t.button != 3) {
    var maxlength = 4;
    var num1 = $("#num1").val().length;
    var num2 = $("#num2").val().length;
    var num3 = $("#num3").val().length;
    var num4 = $("#num4").val().length;
    $(this).val($(this).val().replace(/[^0-9\.]/g,''));

    if ( num1 >= 4) {
    $("#num2").focus();
    }
    if( num2 >= 4){
      $("#num3").focus();
    }
    if( num3 >= 4){
      $("#num4").focus();
    }

    if (num4>=4){
       $("#num4").val($("#num4").val().substr(0,4));
    }
    }

  });   
})();

共有1个答案

咸臻
2023-03-14

您粘贴的代码有错误的if语句。让我们试着理解这个问题。以下是您的代码的工作方式

第一个字段中的输入值。达到四个字符就到下一个。在第二个字段中输入。达到四个字符就到下一个。输入第三个字段。达到四个字符就到下一个。输入第四个字段。达到四个字符停止。

现在问题是你什么时候开始编辑。编辑第二行时。您的if命令同时告诉您检查第三行和第四行。因此,如果第三行有四个字符,则转到第四行。如果第四行有四个字符,则停止。因此,除非删除第三行和第四行中所写的内容,否则无法编辑第二行。

$(".inputs").keyup(function () {
  if (this.value.length == this.maxLength) {
    $(this).next('.inputs').focus();
  }
});
 类似资料:
  • 问题内容: 我有一个字串:“敏捷的棕色狐狸跳过了懒狗。” 我想使用javascript(可能是jQuery)每 n个 字符插入一个字符。例如,我想打电话: 目标是使用此函数将&shy插入长字符串以允许它们进行换行。也许有人知道更好的方法? 问题答案:

  • 我用VBA和IE编写了一个脚本来填充两个输入字段来登录网页。 当我尝试执行我的脚本时,它会抛出错误,因为输入字段在其中。如何用凭据填充两个输入字段? 这是网站链接 这是我迄今为止的尝试: 您可以尝试输入任何详细信息。我所需要知道的是我怎样才能填满这两个盒子。 连接到内容的Html元素:

  • 问题内容: 我需要将字符串的最后4个字母分开。我该如何分开?字符串的长度在变化。 例如: 问题答案: 一个解决方案是 或上 代码是Swift 2 斯威夫特3: 在Swift 3中,第一个解决方案的语法已更改为 斯威夫特4: 在Swift 4中,它变得更加方便: 结果的类型是一种在许多情况下表现为a 的新类型。但是,如果子字符串应该离开创建它的作用域,则必须创建一个新实例。

  • 我需要创建一个宏,该宏可以获取F到I列中的数据,并自动填充到E列中最后一个有数据的单元格。下面的代码几乎完成了我需要它做的事情。但是,我希望能够在F:I列中对不同的数据使用此宏。我怎么能这么做? 暗淡的最后一排一样长

  • 我正在使用数组。fill()用于整数,但我不知道如何用字符串填充。我希望它在终端屏幕上看起来像这样: A A A A A A A A A

  • 我有一个带有6个EditText的辅助功能...该活动运行良好,但我需要单击每个EditText来填充它... 如何使enter键将焦点更改为另一个EditText? 我已经试过了 1.我已经在每个EditText上设置了OnKeyListener。 但是,当我单击enter键时,在焦点更改为另一个EditText之前,会在前一个EditText上创建一行。 2.我已经将添加到每个EditText