2010-07-04 3 views
0

A partir de maintenant, j'ai ceci:Hiding un a4j: outputPanel et en montrant sur submit bouton de commande a4j

..... 
<a4j:commandButton action="#{ChoixContratBean.Submit1}" reRender="suite" value="valider" > </a4j:commandButton> 
     </a4j:outputPanel> 

    <a4j:outputPanel display="none" id="suite"> 
    <jsf:outputText id="reponseeFormule"............ 

qui fonctionne. le panneau de la suite est rerendered. Mais je voudrais cacher ce panneau de sortie nommé suite. et le montrer une fois que l'utilisateur a validé via le commandButton ... Je ne peux pas savoir comment le faire, quelqu'un a une idée?

merci!

Répondre

1

Ok, j'ai finalement découvert après les heures. . (J'ai posté la question après les heures de recherche, je suis un débutant dans richfaces)

Il est pas très compliqué mais il y a un petit piège que vous ne voulez pas tomber dans le code final ressemble que:

 ......<a4j:outputPanel id="check"> 
    <richfaces:panel rendered="#{ChoixContratBean.essaiValid}"> 
    <jsf:outputText value="#{ChoixContratBean.check}" /></richfaces:panel> 
     </a4j:outputPanel>     
    </td>    
    </tr>     
</table> 
</richfaces:simpleTogglePanel> 
    <a4j:commandButton action="#{ChoixContratBean.Submit1}" reRender="suite, check" value="valider"> </a4j:commandButton> 
     <a4j:outputPanel id="suite" > 
<richfaces:simpleTogglePanel rendered="#{ChoixContratBean.suite}" switchType="ajax"...... 

D'abord un outputPanel doit être rendu = true ou ajax ne le touchera pas. C'était ma première erreur, je pensais que je pouvais faire un outputPanel rendu = "# {ChoixContrat.someBool}, et le changer dans l'action ajax liée au bouton de commande.Mais non, si c'est d'abord rendu = Faux, ajax" Vous pouvez le changer en vrai, parce qu'il n'est pas accessible en premier lieu! Vous devez définir rendu = un booléen dans votre bean arrière dans un composant qui contient ce que vous voulez cacher et qui est dans le outputPanel id = suite De cette façon, le outputPanel est toujours rendu, mais le composant dans ce dernier restera caché ou visible si l'attribut de votre contrainer rendu est défini sur false ou true à l'arrière, dans la méthode ajax.

suis clair coz je suis français .....

Questions connexes