Получить значение input
Здравствуйте!
Попал в тупик. На странице есть 3 инпута <input class="class_input" type="text" value="Инпут 1"> <input class="class_input" type="text" value="Инпут 2"> <input class="class_input" type="text" value="Инпут 3"> JS вытаскивает все инпуты с классом "class_input", а потом выводит в консоль их значения через запятую.
let inputs = document.querySelectorAll('.class_input');
let valInput = [];
for (let index = 0; index < inputs.length; index++) {
valInput.push(inputs[index].defaultValue);
}
valInput = valInput.join();
console.log(valInput);
Выходит: Инпут 1, Инпут 2, Инпут 3. Всё норм. Но если на странице изменить в значениях инпута текст и попытаться снова его вывести в логи, то выводится старые значения, а не то что мы ввели. Как исправить эту проблему? |
Мда... Кодить в 3 часа ночи явно не нужно. Сам создал себе глупую ошибку.
valInput.push(inputs[index].defaultValue); записывает изначальное значение. Чтобы получить то, что мы вписываем в инпут нужно написать это: valInput.push(inputs[index].value); Спасибо всем за ответы и глупые вопросы "А зочем ето тебе нужна?", "А зочем тебе достоват из инпута валуе?" Вопрос решен! |
erilar,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<output></output>
<form action="http://" name="form">
<input class="class_input" type="text" value="Инпут 1">
<input class="class_input" type="text" value="Инпут 2">
<input class="class_input" type="text" value="Инпут 3">
</form>
<script>
const showValue = _ => {
let inputs = document.querySelectorAll('.class_input');
let valInput = [...inputs].map(({value}) => value);
document.querySelector('output').value = valInput
}
document.form.addEventListener("input", showValue);
showValue();
</script>
</body>
</html>
|
| Часовой пояс GMT +3, время: 22:14. |