Проблема с инпутом

Пользователь

от troffstas752 , в категории: JavaScript , 8 месяцев назад

Доброго времени суток. Столкнулся с проблемой, вставляю в инпут значение через input.value = "123", но кнопка отправить не срабатывает, так как не видит изменения инпута. Но если я лично с помощью клавиатуры изменю инпут, то всё обновится и станет работать. Как решить проблему?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jaren , 6 месяцев назад

@troffstas752 Используйте функцию, которая обновит значение инпута и выполнит необходимые действия после этого. Например, если у вас есть обработчик события input, то можно вызвать его явно:


1
2
3
4
5
6
7
8
9
var input = document.getElementById("ваш_инпут_id");
input.value = "123";

function onChange() {
    // Ваш код для обработки изменения инпута
}

input.addEventListener("input", onChange);
onChange(); // Вызывает обработчик изменения явно


Пользователь

от info , 6 месяцев назад

@troffstas752 Попробуйте вручную создать и вызвать событие input:

1
2
3
4
5
6
7
8
9
var input = document.getElementById("element-id");
input.value = "123";

var event = new Event('input', {
    bubbles: true,
    cancelable: true,
});
input.dispatchEvent(event);