validaciones prime mensajes for faces example autoupdate jsf-2 primefaces

jsf 2 - prime - ¿Cómo esconder<p: messages> después de mostrar los mensajes?



primefaces p message example (4)

<p:messages id="msgs"> se representa finalmente como <div id="msgs"> y su contenido se actualiza con los mensajes factuales para el usuario.

Si desea borrar la pantalla del mensaje después de algún retraso, debe usar la función de JavaScript setTimeout después de que se haya completado la llamada ajax:

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

El segundo parámetro de la función setTimeout es el retraso en milisegundos.

La otra alternativa es usar <p:growl> lugar.

Estoy trabajando en la aplicación JSF en primefaces porque estoy mostrando información al usuario a través de <p:messages> .

Entonces, cuando el usuario haga clic en enviar, la página se procesará y el cuadro de diálogo p: mensajes se activará para mostrar la información al usuario,

Remití Primefaces p: mensajes showcase Page

Está funcionando bien ... Pero después de que muestra los mensajes, no se cierra automáticamente o debemos cerrar ese diálogo manualmente o permanece en el escenario abierto.

Lo necesito si se cierra automáticamente después de que se muestra el mensaje al usuario ... ¿Cómo puedo hacer eso ... ¿Alguien puede sugerir que cómo puedo hacerlo?


$(''#msgs'').html(''''); ocúltelo inmediatamente en 3 segundos, pero si quiere esconderse lentamente como el método de ocultar jquery, haga esto ...

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

hide(1000); el movimiento de ocultación se completará en 1 segundo


Funcionó para mí para <p:fileUpload> , que estaba en elementos <p:dataList> y <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"/>

He usado jQuery $(''[id$=mr-upload-messages]'' para encontrar id''s que termina con mr-upload-messages , porque Primefaces agrega su identificador único al comienzo de la identificación.


Me encontré con la atención, y lo hice de esta manera:

function hideMsg(){ $("#msg").delay(1000).hide(1000); } oncomplete="hideMsg()"