IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Raffraichissement d'une zone avec RichFaces


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut Raffraichissement d'une zone avec RichFaces
    Bonjour,

    J'ai vu que c'était un sujet fréquemment évoqué mais là... je plante un peu.

    J'ai une popin (modalPanel) qui contient entre autre une combobox (selectOneListbox) sur laquelle j'ai placé un observateur d'événement a4j:support onblur qui lance un traitement.

    Ce traitement crée dynamiquement des composants outputText et inputText dans un panelGrid de ma popin (bindé avec mon bean).

    Mon soucis est que malgré le fait que je spécifie à mon a4j:support la zone à raffraichir avec l'attribut reRender (le panelGrid où ont été crées dynamiquement les composants), celui-ci ne s'actualise pas. Je pense que j'ai manqué une étape...

    Merci pour votre aide.

    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <h:outputText value="Formule de calcul : "/>
    <h:selectOneListbox size="1" value="#{element.formula}">
    	<f:selectItems value="#{chargingBean.formulas}" />
    	<a4j:support event="onblur" reRender="parametersPanel" action="#{chargingBean.fillParametersList}"/>
    </h:selectOneListbox>
    <h:outputText value="Paramètres de la formule de calcul : "/>
    <h:panelGrid columns="1" id="parametersPanel" header="Panel Header" binding="#{chargingBean.parametersPanel}"/>
    PS: je suis sûr que l'arbre des composants a été mis à jour.
    PS2: JSF/Facelets/RichFaces/Spring

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    mets le panelGrid dans un a4j:outputPanel ou un h:panelGroup
    et fait le reRender sur cet élément au lieu du panelGrid..

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut
    Merci Sniper37.

    Malheureusement pour moi avec un h:panelGroup ou un a4j:outputPanel au dessus du panelGrid, le résultat est le même, même si je fais un refresh sur cet élément.

    J'ai également remplacé mon panelGrid par le a4j:outputPanel avec espoir mais sans succès...

    Une autre judicieuse idée?

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    et si tu essayes avec un onclick ou on change.
    tu peux montrer le code avant génération et le code après génération?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut
    J'ai changé le onblur par le onchange qui est de toute façon plus indiqué dans mon cas.

    Le code généré est strictement le même avant et après modification de la valeur de la combobox si ce n'est justement la valeur de la combobox sélectionnée.

    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
    23
    24
    25
     
    <TD><SELECT onchange="A4J.AJAX.Submit('_viewRoot','edit:0:j_id61',event,{'parameters':{'edit:0:j_id61:j_id73':'edit:0:j_id61:j_id73'} ,'actionUrl':'/mystats-factu/charging.jsf'} )" size=1 name=edit:0:j_id61:j_id71><OPTION value=FIXE_DELAI>Cout fixe et à la durée</OPTION><OPTION value=FORFAIT>Cout forfaitaire</OPTION><OPTION value=FORFAIT_UT>Cout forfaitaire et par unité de temps</OPTION><OPTION value=FIXE_DUREE selected>Cout fixe à la durée</OPTION><OPTION value=ITX>Cout par impulsion de taxation</OPTION><OPTION value=FORFAIT_DUREE>Cout forfaitaire et à la durée</OPTION></SELECT></TD></TR>
    <TR>
    <TD>Paramètres de la formule de calcul :</TD>
    <TD><SPAN id=edit:0:j_id61:reRenderParametersPanel>
    <TABLE id=edit:0:j_id61:parametersPanel>
    <TBODY>
    <TR>
    <TD><INPUT id=edit:0:j_id61:parameterModulation1 type=hidden name=edit:0:j_id61:parameterModulation1>HP : <INPUT id=edit:0:j_id61:parameter1_1 style="WIDTH: 50px" name=edit:0:j_id61:parameter1_1> cts d'euros forfaitaire et <INPUT id=edit:0:j_id61:parameter1_2 style="WIDTH: 50px" name=edit:0:j_id61:parameter1_2> par unité de temps</TD></TR>
    <TR>
    <TD><INPUT id=edit:0:j_id61:parameterModulation2 type=hidden name=edit:0:j_id61:parameterModulation2>HC : <INPUT id=edit:0:j_id61:parameter2_1 style="WIDTH: 50px" name=edit:0:j_id61:parameter2_1> cts d'euros forfaitaire et <INPUT id=edit:0:j_id61:parameter2_2 style="WIDTH: 50px" name=edit:0:j_id61:parameter2_2> par unité de temps</TD></TR></TBODY></TABLE></SPAN></TD></TR>
    <TR>
    <TD><INPUT id=edit:0:j_id61:editSubmit onclick="A4J.AJAX.Submit('_viewRoot','edit:0:j_id61',event,{'parameters':{'edit:0:j_id61:editSubmit':'edit:0:j_id61:editSubmit'} ,'actionUrl':'/mystats-factu/charging.jsf'} );return false;" type=button value=Valider name=edit:0:j_id61:editSubmit jQuery1228830136294="2">
    <SCRIPT type=text/javascript>//<![CDATA[
     Richfaces.onAvailable('edit:0:j_id61:editSubmit', function()
    {
            Richfaces.componentControl.attachEvent('#edit\\:0\\:j_id61\\:editSubmit', 'onclick', '#edit\\:0\\:editPanel', 'hide', function() { return {}; }, false);
     });//]]>
    																		</SCRIPT>
    <INPUT id=edit:0:j_id61:hidelink onclick="A4J.AJAX.Submit('_viewRoot','edit:0:j_id61',event,{'parameters':{'ajaxSingle':'edit:0:j_id61:hidelink','edit:0:j_id61:hidelink':'edit:0:j_id61:hidelink'} ,'actionUrl':'/mystats-factu/charging.jsf'} );return false;" type=button value=Annuler name=edit:0:j_id61:hidelink jQuery1228830136294="3">
    <SCRIPT type=text/javascript>//<![CDATA[
     Richfaces.onAvailable('edit:0:j_id61:hidelink', function()
    {
            Richfaces.componentControl.attachEvent('#edit\\:0\\:j_id61\\:hidelink', 'onclick', '#edit\\:0\\:editPanel', 'hide', function() { return {}; }, false);
     });//]]>

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    non je voulais dire les composants avant génération dynamique.
    à quoi ressemble ta page au début..et sur quelle action tu génére dynamiquement les composants..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche dans une zone avec une adresse
    Par rollergirl dans le forum Langage
    Réponses: 1
    Dernier message: 29/05/2012, 10h19
  2. [AJAX] Raffraichissement d'une div avec ajax
    Par crazymonkey dans le forum AJAX
    Réponses: 16
    Dernier message: 17/06/2009, 15h41
  3. Réponses: 4
    Dernier message: 25/01/2009, 18h23
  4. [debutant]faire apparaitre une zone avec du texte
    Par Emcy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/02/2007, 08h16
  5. Créer une zone avec Scroll dans une page html
    Par youcef81 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 04/12/2006, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo