Задать вопрос
@WebforSelf

Как при заполнении 4 input выполнить функцию js?

Есть 4 input
<div class="flex_code">
                          <input class="inputs code_1" value="" type="tel"  pattern="[0-9]*"   maxlength="1"  >
                          <input class="inputs code_2" value="" type="tel"  pattern="[0-9]*"   maxlength="1"  >
                          <input class="inputs code_3" value="" type="tel"  pattern="[0-9]*"  maxlength="1"  >
                          <input class="inputs code_4" value="" type="tel"  pattern="[0-9]*"   maxlength="1">
                      </div>

Есть функция которая при заполнении 1 значения перекидывает на следующее
$(function() {
    $(".inputs").keyup(function () {
        if (this.value.length == this.maxLength) {
          $(this).next('.inputs').focus();
        }
    });
});


Дальше есть фукция
$(".inputs").on("change", function() {
//тут код функции
});


Вопрос, как сделать чтоб при заполнении всех 4 input выполнялась последняя функция автоматически?
сейчас приходится после ввода 4 значений кликать на свободную область чтоб запустить
$(".inputs").on("change", function()
  • Вопрос задан
  • 235 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
const inputs = [...document.querySelectorAll('.input')];
inputs.forEach(n => n.addEventListener('input', onInput));

function onInput({ target: t }) {
  if (t.value.length === t.maxLength) {
    t.nextElementSibling?.focus();
  }

  if (inputs.every(n => n.value.length === n.maxLength)) {
    // здесь дёргаете свою функцию
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы