Mam prostą stronę logowania, która wyświetla komunikat, jeśli logowanie nie powiodło się. Chciałbym, aby ta wiadomość zanikała po 5 sekundach, ale nie mogę jej uruchomić.Jak wygasić komunikat po przekroczeniu limitu czasu
Część login (usunięto większość nieistotnych rzeczy):
<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" />
Co próbowałem dotąd:
Komenda wpisana w wierszu poleceń Firebug działa doskonale: $('[id$=messages]').fadeOut();
Teraz potrzebuję sposobu na wyzwolenie go przez timer:
ustawienie wywołania zwrotnego na przycisku takim jak to nie działa (brak efektu, brak błędu):
<p:commandButton ... oncomplete="setTimeout(5000, '$('[id$=messages]').fadeOut())" ... />
Próbowałem go onclick
i oncomplete
ale bez efektu i bez błędów.
wypróbowany przy primfaces efekty (owinięte efektów JQuery) na elemencie message
:
<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>
brak efektu brak błędów.
+1 dzięki, dwunożny. Działa ładnie. – kostja
witam ... cieszę się, że pomógł .. szczęśliwe kodowanie .. :) – bipen