我正在使用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也检测到新的输入值。
非常感谢!
答案 0 :(得分:0)
您可以指定一个输入事件监听器,请参阅以下代码段,以获取可以帮助您实现的基本示例。
编辑:此更新已显示即使您以编程方式更改了值,也可以触发oninput
事件侦听器。
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;