4

を介してユーザーに情報を表示しているという点で、primefaces で JSF アプリケーションに取り組んでいます<p:messages>

したがって、ユーザーが [送信] をクリックすると、ページが処理され、p:messages ダイアログがトリガーされてユーザーに情報が表示されます。

Primefaces p:messagesショーケースページを参照しました

正常に動作しています..しかし、メッセージが表示された後、そのダイアログを手動で閉じる必要があるか、開いたままになるか、自動的に閉じません。

ユーザーにメッセージを表示した後、自動的に閉じる必要があります...どうすればいいですか...どうすればよいか誰か提案してもらえますか?

4

4 に答える 4

7

<p:messages id="msgs">は最終的に としてレンダリングされ<div id="msgs">、そのコンテンツはユーザーへの事実に基づくメッセージで更新されます。

少し遅れてメッセージ画面をクリアしたい場合は、setTimeoutajax 呼び出しが完了した後に JavaScript 関数を使用する必要があります。

<p:commandButton ... 
        oncomplete="setTimeout(function() { $('#msgs").html(''); }, 3000);" />

関数の 2 番目のパラメーターはsetTimeout、ミリ秒単位の遅延です。

もう 1 つの方法は、<p:growl>代わりに使用することです。

于 2013-10-09T13:25:48.683 に答える
1

と要素<p:fileUpload>にあったのために私のために働きました。<p:dataList><h:panelGrid>

    <p:fileUpload...
           oncomplete="setTimeout(function() { $('[id$=mr-upload-messages]').hide(1000); }, 2000);">

...
    <p:messages id="mr-upload-messages" showDetail="true" showSummary="false" closable="true"/>

Primefaces は id の先頭に一意の識別子を追加するため、jQuery を使用$('[id$=mr-upload-messages]'して で終わる id を見つけました。mr-upload-messages

于 2014-04-28T11:40:35.157 に答える