0

私は 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イベントがそれを行うと信じていましたが、どうやらそうではありませんでした。

4

1 に答える 1

2

さて・・・oncompleteイベントです。以前にテストしましたが、ブラウザのキャッシュをクリアして新しい JS ファイルをリロードするのを忘れている可能性があります。

編集: primefacesタグのドキュメントへのリンク

于 2013-01-07T16:35:18.167 に答える