私は Primefaces で ajaxremoteCommandコンポーネントを使用しており、このコンポーネントはinputHiddenフィールドをブール値で更新します。
onsuccessイベントでJS関数を呼び出しますが、値をテストするとき、これは正しい値ではありませんが、3秒後にテストする間隔を設定すると、正しい値を持っているremoteCommandため、DOM更新の前に関数が呼び出されるようです...inputHidden
コード :
<p:remoteCommand process="..." onsuccess="hideOrShowNotification();" />
最初の JS テスト:
function hideOrShowNotification(){
alert($('#tabView\\:register_form\\:hiddenNotification').val());
}
2 番目の JS テスト:
function hideOrShowNotification(){
setInterval(function(){alert($('#tabView\\:register_form\\:hiddenNotification').val());}, 3000);
}
最初のケースではfalse価値を受け取り、2 番目のケースではtrue価値を受け取ります。期待値はtrueです。
そのため、JS 関数が呼び出されたときに DOM が完全に読み込まれていません。
DOM のフルロード後に JS 関数を呼び出すにはどうすればよいですか? 私はonsuccessイベントがそれを行うと信じていましたが、どうやらそうではありませんでした。