2012-01-23 3 views
13

Ho una ConfirmDialog modale che viene visualizzata su una finestra di dialogo modale utilizzando PrimeFaces 3.0.1. Se il ConfirmDialog è opend, l'intera pagina viene bloccato, compreso il ConfirmDialog sé ... rien ne va plusModal ConfirmDialog over Modal Dialog -> tutto è bloccato

ho trovato un Bugreport per primefaces che suona simile http://code.google.com/p/primefaces/issues/detail?id=576 ma dal momento che il bug è legato a un layout-Component questo non si applica davvero nel mio caso.

C'è una soluzione alternativa o qualcosa del genere?

Grazie !!!

+0

quale versione di PF do u usare? perché è stato corretto in 3.0 http://code.google.com/p/primefaces/issues/detail?id=2575 – Daniel

+0

I'am utilizzando 3.0.1 ... non sembra essere ancora risolto – treeno

risposta

25

utilizzare l'attributo appendToBody="true" del tag p:dialog per risolvere questo problema.

Da PrimeFaces 5 sull'attributo è cambiato. Se si utilizza 5+ utilizzare appendTo = "@ (corpo)", invece, consultare la guida alla migrazione: migration guide

(Sarebbe stato utile sapere la versione primefaces)

+1

Grazie! Aggiungere appendToBody = "true" a p: confirmDialog è la soluzione nel mio caso! – treeno

+0

Questo ('appendToBody =" true "') ha risolto il problema anche nella mia applicazione (PrimeFaces 3.2), sia per confirmDialogs che generano solo richieste AJAX che per quelle che aggiornano l'intera pagina. –

+3

Non funziona con Primefaces 5 – daVe

1

Da quando ho bisogno di un-pulsante di invio nel Dialogo ho dovuto sfortunatamente cercare una soluzione diversa quindi appendToBody = "true". Per tutti coloro che affronta lo stesso problema, ecco che arriva la soluzione:

Se si desidera la seguente:

<p:dialog modal="true"> 
    <h:form> 
     ... 
     <p:confirmDialog> 
      <p:commandButton action="#{transportBean.execute}" type="submit" .../> 
     </p:confirmDialog> 
     ... 
    </h:form> 
</p:dialog 

Questo porterà in una pagina completamente bloccato. Tirare la forma Elemento due elementi superiori e funzionerà:

<h:form> 
    <p:dialog modal="true">   
     ... 
     <p:confirmDialog> 
      <p:commandButton action="#{transportBean.execute}" type="submit" .../> 
     </p:confirmDialog> 
     ...   
    </p:dialog 
</h:form> 
4

Usa appendTo = "@ (il corpo)" nel tag funziona per me

+0

appendToBody = "true" non funziona per me. Ma ha funzionato correttamente. Grazie – erginduran