JS. С мышкой значение input изменяется, а с помощью кода (elem.value) нет

В одном сайте есть форма input, где стандартное число 10.

С помощью мышки изменяется без проблем. А если с помощью кода: document.querySelector("input#tip-199").value=15; изменять значение на 15, то через секунду возвращается исходное число (т.е. 10, видимо какая-то защита стоит).

Пробовал ещё такой вариант, с фокусом:

var ett = document.querySelector("input#tip-199").value=15;
var foc = new Event("focus");
var bl = new Event("blur");
ett.dispatchEvent(bl); 
ett.dispatchEvent(foc);

Но результата нет.

Как сделать так, чтобы в форме можно было полноценно изменять значение?


Ответы (1 шт):

Автор решения: ksa

Твой вариант вообще по ошибке вылетал... Поскольку переменная ett была равна не собственно элементу.

Вот работающий пример.

document.querySelector('button').addEventListener('click', _ => {
  var ett = document.querySelector("input#tip-199")
  ett.value = 15;
  var foc = new Event("focus");
  var bl = new Event("blur");
  ett.dispatchEvent(bl); 
  ett.dispatchEvent(foc);
})
<input id='tip-199' type='number' value='10' />
<button>Test</button>

→ Ссылка