mbxngtgo
@mbxngtgo
веб программист

Как объединять значения двух инпутов в один в разных формах?

Искал код который объединяет с помощью js два инпута в один.
Нашел такой код:

<input id="input1" name="input1"/>
<input id="input2" name="input2"/>
<input id="input3" name="input3" readonly />

<script>
input1.addEventListener('keyup', joinValues, false);
input2.addEventListener('keyup', joinValues, false);

function joinValues(){
    input3.value = input1.value + ' ' + input2.value;
}
</script>

Но с ним невозможно сделать много форм.

Как сделать, чтобы можно было объединить по class, а не id?

Вот так:

<input class="input1" name="input1"/>
<input class="input2" name="input2"/>
<input  class="input3" name="input3" readonly />

Чтобы была возможность сделать много форм, порядка 20 штук.
  • Вопрос задан
  • 996 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
document.addEventListener('input', function(e) {
  const inputsWrapper = e.target.closest('.класс-блоков-которые-содержат-ваши-инпуты');
  if (inputsWrapper) {
    const inputs = [...inputsWrapper.querySelectorAll('input')];
    const lastInput = inputs.pop();
    lastInput.value = inputs.map(n => n.value).join(' ');
  }
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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