如何用JavaScript激活onchange功能?

时间:2017-10-25 13:53:00

标签: javascript jquery html jsf jsf-2

我正在使用JSF 2.2开发Java Web应用程序。我正在组合另一个前端技术,但是我的具体问题很容易用下一个代码来解释:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Prueba</title>
  </head>
  <body>
    <input id="test" value="Initial value" onchange="alert('I changed my value')"/>
    <button onclick="updateTest()">Cambiar el valor</button>
    <script type="text/javascript">
        function updateTest() {
          document.getElementById("test").value = "|" + document.getElementById("test").value;
        }
    </script>
  </body>
</html>

当用户修改输入值时,浏览器显示警告消息,但当用户点击按钮时,浏览器未检测到输入值被更改,我需要当用户点击按钮时,输入更改其值和浏览器启动警报消息。

为什么我需要这个疯狂的过程?因为我想使用另一个JavaScript框架来修改JSF不同方式的前端。我有一个modal来改变输入值,javascript框架代码是纯的,我希望当这个值改变时,JSF也检测到新的输入值。

非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以指定一个输入事件监听器,请参阅以下代码段,以获取可以帮助您实现的基本示例。

编辑:此更新已显示即使您以编程方式更改了值,也可以触发oninput事件侦听器。

&#13;
&#13;
document.querySelector('#test').oninput = function() {
  console.log(this.value);
}

// Modal code
{
  document.querySelector('#test').value = 'new value';
  document.querySelector('#test').oninput();
}
&#13;
<input id="test" type="text" />
&#13;
&#13;
&#13;