如果我的输入值被 Java 方法更改,如何使用 onchange 事件调用 JavaScript 函数

How to call a JavaScript function with onchange Event if my input value changed by Java Method

我通过这种方式在我的输入中得到一个值:

<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>

最简单的方法是检查位置层的值,当它等于您正在寻找的值时调用您的函数。所以像这样:

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

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

 if(position.layers == someValue){
      callme();
  }else{
      doNotCall();
  }

如果您使用其他方式传递值,则无法直接触发更改事件

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

相反,您必须创建一个更改事件并尝试调用您的更改事件, 在更改输入类型的值后添加上面的代码,其余代码无需更改。