ログインが成功しなかった場合にメッセージを表示する簡単なログインページがあります。私はこのメッセージが5秒後に消えてしまいたいと思っていますが、それを動作させることはできません。タイムアウト後にメッセージを消す方法
(無関係なものの大部分を削除)、ログイン一部:
<h:inputText title="Name" value="#{authBean.name}" id="username" />
<h:inputSecret title="Password" value="#{authBean.password}" id="password" />
<p:commandButton id="loginButton" action="#{authBean.loginAndRedirect}"
update="@form" value="Login" />
<h:message id="messages" for="login:username" />
私がこれまで試してみました何
:
をコマンドはFirebugのコマンドラインは完璧に動作して入力された:$('[id$=messages]').fadeOut();
今度はタイマーでトリガーする方法が必要です:
このようなボタンでコールバックを設定しても効果がありません(エラーなし):
<p:commandButton ... oncomplete="setTimeout(5000, '$('[id$=messages]').fadeOut())" ... />
私はonclick
とoncomplete
でなく、効果なし、エラーなしでそれを試してみました。 message
要素にprimfaces効果(ラップjQueryのエフェクト)を使用してみました
:
<h:message id="messages" for="login:username" errorClass="errorMessage">
<p:effect type="fadeout" event="load" delay="5000">
<f:param name="mode" value="'hide'" />
</p:effect>
</h:message>
効果なし、エラーなし。
+1、バイフェン。それはうまく動作します。 – kostja
ようこそ...うれしい..幸せなコーディング.. :) – bipen