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 :

Ouverture de pop-up en fonction de la méthode appelée par un commandButton


Sujet :

JSF Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 44
    Par défaut Ouverture de pop-up en fonction de la méthode appelée par un commandButton
    Bonjour les gens.

    Je dois implémenter un formulaire qui contient des données à entrer en base et un bonton pour appeler une méthode de validation. Jusque là, pas de problème. Là où ça me pose un problème c'est que le bouton de validation doit ouvrir une pop-up (chose aidée avec un modalWin) mais que cette pop-up ne doit apparaître que si la méthode de validation passe correctement. Et là, c'est le drame, j'ai pas le début d'une idée pour le faire.
    J'utilise seam, les richfaces et jboss.
    J'ai envisagé de faire deux boutons en fonction de la validation mais ça signifierait valider 2 fois: impensable. Faire un autre bouton pour afficher la pop-up: du aux spec, impensable. Faire une redirecttion à partir du page.xml: avec joie mais comment faire pour un pop-up?

    Quelqu'un aurait-il une solution à me suggérer?

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Hello,

    Si tu utilises RichFaces, tu peux faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <h:form id="myForm">
        <h:inputHidden id="statusValidation" value="#{monBean.validationOk}"/>
        ...
        <a4j:commandButton ... action="#{monBean.doValidation}" oncomplete="if ($F('myForm:statusValidation') == 'true') { // affichage de la popup }"/>
        ...
    Explications :
    Je stocke dans un champ caché le status de la validation (dans monBean, validationOk est un booléen, à true si tout s'est bien passé, à false sinon).
    Je laisse faire mon copain le commandButton, et à la fin de la réception de la réponse Ajax, je regarde la valeur de mon champ caché ($F('myForm:statusValidation') est un raccourci pour document.getElementById('myForm:statusValidation').value) et si celle-ci vaut 'true', alors j'affiche le modal panel.

    J'espère que ça peut t'aider.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 44
    Par défaut
    Merci du conseil.
    Etant donné que le bouton en question faisait une redirection j'ai finalement opté, en m'inspirant de la solution de romaintaz pour celle-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      <h:outputText rendered="#{monAction.afficherPopUp}">
    <script>
    try{
    modalWin(MaPage);
     
    } catch(e) {
    alert('erreur'+e.message);
    }
    </script>
    </h:outputText>
    en passant afficherPopUp comme paramètre booléen: si le paramètre en false ou n'existe pas, rien ne se passe. Si il est true, le script se lance. Ajouté à ça, getAfficherPopUp() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public boolean getAfficherPopUp(){
    boolean temp= afficherPopUp;
    afficherPopUp=false;
    return temp;
    }
    histoire que la pop-up ne resaute pas au visage de l'utilisateur si il fait un refresh.

    Merci pour tout.

    Ca, c'est fait.

  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
    N'oublies pas la prochaine fois

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

Discussions similaires

  1. Ouverture et agencement de plusieurs pop up en fonction de la résolution
    Par ben_maury dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/10/2009, 14h46
  2. problème d'ouverture de pop up
    Par hellotk dans le forum Flash
    Réponses: 16
    Dernier message: 21/10/2007, 20h42
  3. [Mozilla] ouverture de pop-ups
    Par amika dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/11/2005, 16h27
  4. Problème avec un script d'ouverture de pop-up
    Par HNT dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 19/08/2005, 16h37
  5. Réponses: 6
    Dernier message: 11/10/2004, 14h58

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