Как вызвать функцию JavaScript с помощью onchange Event, если мое входное значение изменилось с помощью метода Java

Я получаю значение в моем входе таким образом:

<input style="width:200px; display:none;" readonly="" type="text" id="abc" placeholder="30.30" value="#{position.layers}"></input>

Как я могу вызвать функцию JavaScript, если значение изменилось.

function callme() {
    alert("ok");    
}

Если я сам ввожу значение, метод вызывается, но если значение изменяется на "#{position.layers}", функция не вызывается.

 <input style="width:200px; display:none;" readonly="" type="text" id="abc" placeholder="30.30" value="#{position.layers}" onchange="callme()"></input>

2 ответа

Вы не можете инициировать событие изменения напрямую, если вы передаете значение, используя другое среднее

 var element = document.getElementById('abc');
 var event = new Event('change');
 element.dispatchEvent(event);

Вместо этого вам нужно создать событие изменения и попытаться вызвать ваше событие изменения, добавить приведенный выше код после того, как вы измените значение типа ввода. Остальной код хорош тем, что ничего не нужно менять.

Самый простой способ - проверить значение слоев позиции и, когда оно равно значению, которое вы ищете, вызовите вашу функцию. Так что-то вроде этого:

 function callme(){
    alert("ok");
   }

 function doNotCall(){
    alert("No Way");
    }

 if(position.layers == someValue){
      callme();
  }else{
      doNotCall();
  }
Другие вопросы по тегам