#javascript
Вопрос:
У меня есть два поля ввода productName
, и quantity
productName
поле заполняется с помощью сканера штрих-кодов(у меня нет доступа к коду), мое требование-определить, как только значение заполняется в productName
полях, чтобы я мог проанализировать значение и заполнить второе поле quantity
.
<input type="text" id="productName" name="productName">
<input type="text" id="quantity" name="quantity">
Поскольку у меня нет доступа к коду, который сканирует штрих-код и заполняет productName
поле, есть одна возможность, о которой я думаю, это многократная проверка того, имеет ли поле значение или нет, как показано ниже
myVar = setInterval(checkValue, 1000);
function checkValue(){
var productName= document.getElementById("productName");
console.log("running");
if (productName amp;amp; productName.value) {
document.getElementById("quantity").value=productName.value;
clearInterval(myVar);
}
}
Но я ищу лучший подход в ванильном Javascript, есть ли альтернативное решение?
Комментарии:
1. используйте событие onChange, developer.mozilla.org/en-US/docs/Web/API/HTMLElement/…
2. спасибо @RobertRocha , это работает!
Ответ №1:
Вы можете использовать onchange
.
Пример:
const productNameField = document.querySelector('#productName');
const quantityField = document.querySelector('#quantity');
const populateQuantityField = () => {
quantityField.value = productNameField.value;
}
productNameField.addEventListener('change', populateQuantityField);
Дальнейшее Чтение: