Bonjour,

Je tente de faire disparaître un bouton en ajax, mais impossible de récupérer la référence à ce bouton, c'est une exemple Primefaces. Je comprends guère la façon dont on gère la partie Ajax et surtout Javascript, les Id sont dans leurs première partie dynamique.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<p:tabView>
        <p:tab title="Questionnaire" id="questionnaire">
 
                <p:commandButton  id="showDialogButton" type="button" value="Ajouter un thème" onclick="dlg.show()" />  
 
                <p:dialog header="Quel est la dénomination de votre thème" appendToBody="true" widgetVar="dlg" resizable="false">  
                    <h:form id="form">  
                        <h:panelGrid columns="2" style="margin-bottom:10px">  
                            <h:outputLabel for="theme" value="Votre Thème :" />  
                            <p:inputText id="theme" value="#{questionnaireControler.theme}" />  
                        </h:panelGrid>  
                        <p:commandButton id="submitButton" value="Submit" update=":#{p:component('display')}" oncomplete="$('#showDialogButton').css('display', 'none'); dlg.hide();"/>  
                    </h:form>  
                </p:dialog>  
                <p:outputPanel id="display" style="display:block;margin-top:10px;font-weight: bold;" >  
                    <h:outputText id="name" value="#{questionnaireControler.theme}" rendered="#{not empty questionnaireControler.theme}" />
                    <h:graphicImage library="images" name="icones/annuler.gif"/>
                </p:outputPanel>  
        </p:tab>
 
...
le $('#showDialogButton').css('display', 'none'); ne fonctionne pas car JSF génère avant j_idt19:showDialogButton. j'avais contourné ce pb avec update=":#{p:component('display')}" pour la partie mise à jour du message en dehors de la balise form, mais la je sèche ...

Pas simple le js in JSF


Olivier