我使用ajax remoteCommand
组件与Primefaces和该组件更新inputHidden
字段布尔值。
我在remoteCommand
的onsuccess
事件上调用JS函数,但似乎我的函数在DOM更新之前被调用,因为当我测试inputHidden
值时,这不是正确的值,但如果我将间隔设置为测试3s后,我有正确的值…
<p:remoteCommand process="..." onsuccess="hideOrShowNotification();" />
第一个JS测试:
function hideOrShowNotification(){
alert($('#tabView\:register_form\:hiddenNotification').val());
}
第二次JS测试:
function hideOrShowNotification(){
setInterval(function(){alert($('#tabView\:register_form\:hiddenNotification').val());}, 3000);
}
在第一种情况下,我收到false
值,在第二种情况下,我收到true
值。期望值为true
。
所以当我的JS函数被调用时,我的DOM没有完全加载。
如何在DOM完全加载后调用JS函数?我相信onsuccess
事件会做到这一点,但显然没有。
Ok…这是oncomplete
活动。我之前测试过,但也许我忘记了清除浏览器缓存来重新加载新的JS文件。
EDIT:链接到primefaces标签文档