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

Servlets/JSP Java Discussion :

Listener en JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Par défaut Listener en JSP
    Bonjour à tous,
    je suis en train de créer des pages JSP mais ne m'y connaissant pas trop je me permets de vous solliciter.

    j'ai créé une liste de selections :

    <select name="selection" >
    <option>choix1</option>
    <option>choix2</option>
    <option>choix3</option>
    </select>

    et j'aimerais qu'en fonction du choix du selectionné, d'autres boutons select disparaissent ou apparaissent.

    Je pense qu'il faudrait recharger la page en lui fournissant en argument le choix mais je ne sais pas comment implémenter cela concrètement.

    Pouvez vous m'aider? Par avance merci.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Par défaut
    Si tu peux charger dès le départ tous les objets qui seront à afficher ou non.. tu n'es pas obliger de recharger la page si ca ne te dérange pas d'utiliser javascript...
    Dans ce cas tu gère l'évènement onchange sur ton select qui va bouger la propriété visible des champs incriminés.

    Dans le cas contraire (non chargé à l'avance).. tu peux voir du côté d'ajax pour éviter un rechargement...ou ne pas utiliser ajax et faire sur le onchange un submit du formulaire pour rafraichissement

  3. #3
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Par défaut
    Merci beaucoup Marnor pour ta réponse.

    Supposons que j'ai

    <select name="selection" >
    <option>choix1</option>
    <option>choix2</option>
    <option>choix3</option>
    </select>

    et

    <select name="selection2" >
    <option>choix1bis</option>
    <option>choix2bis</option>
    <option>choix3bis</option>
    </select>


    Je veux que l'élément selection2 disparaisse lorsque choix2 à été selectionné.

    Comment coderais tu ça?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Par défaut
    Tout dépend... choix1bis est il déduit de choix1 ou alors des le départ on connait la liste des choix bis...
    En gros est ce que le choix de l'utilisateur implique une déduction de la deuxième liste??

  5. #5
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Par défaut
    Non, la seconde liste n'est définie par rapport à ce qui à été coché. Les deux listes ont des choix définis avant toute selection.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Par défaut
    Dans ce cas sur ton premier select:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <select name=select1 onchange="visibility(true)">
    <option.....>
    </select>
    Dans ton head de la page (ou dans un .js)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <script language="javascript"> (uniquement si dans html)
    function visibility(isToBeShown){
    //traitement selon valeur
    monForm.monSelect.visible=false (d après mes souvenirs)
    //ou
    monForm.monSelect.visible=true
    }
    </script>
    Ainsi lors du change tu changes le select tu changes la visibilité... en recherchant un peu tu devrais trouver des tas d'exemple sur la visibilité des champs... la tu as le mécanisme en simplifié...

  7. #7
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Par défaut
    Désolé de t'importuner à nouveau mais ce n'est pas que la visibilité des champs qui m'importe ce que je veux c'est de rediriger le client vers la même page en fournissant en argument dans l'URL l'item choisi dans la combo.

    Donc il y a deux choses qui manquent :

    1. Passer en argument de la fonction javascript l'item choisi

    2. rediriger le client vers la même page avec les arguments

    Merci infiniment pour ton aide.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Par défaut
    Pourquoi veux tu rediriger vers la même page... va t'il y avoir un traitement???
    Avec le principe que je te donne le select n°1 n'est pas réinitialisé donc la valeur choisie par la personne l'est toujours.... et est donc toujours dans la requête.

    La redirection n'est justifiée que si tu as un traitement à faire qui nécessite la donnée du select...
    Explique plus en profondeur le but du rafraichissement dans ce cas...

    PS: ce n'est pas parce que l'item choisi n'est pas dans l'url que le choix n'est pas connu du serveur....

  9. #9
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Par défaut
    J'ai changé d'avis par rapport à ma première question. Pour me simplifier la tâche plustôt que de faire disparaître ou apparaître des select je veux juste me rediriger vers une autre page.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Par défaut
    Bon comme tu le veux (même si comme tu pensais le faire au début est aussi facile mais bon)..
    Dans ce cas tu met

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form name="monForm" ...action=...>
    <select name="select1" onchange="monForm.submit();">
    ...
    </select>
    </form>
    Voila... sachant que dans ce cas un bouton submit en dessous fait aussi bien l'affaire... sans plus d'explication concrete je ne peux te donner une solution qui te convient parfaitement...

  11. #11
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Par défaut
    Merci une fois de plus mais le form ne peut avoir qu'une action donc une seule page de destination, nous il y aura plusieurs page de destination en fonction du choix effectué dans le select.

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Par défaut
    On avance c'est déjà plus explicite....
    Et pourquoi après soumission du formulaire donc sur ton unique page de destination comme tu le dis... tu ne rediriges pas en fonction des valeurs..?

    page avec select-->submit-->page de destination (ici traitement des valeurs saisies)-->redirection en fonction du choix

  13. #13
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Par défaut
    Merci Marnor(avec un peu de retard) pour ta réponse. cela marche correctement.

    Je suis confronté maintenant à un autre problème. J'ai le code suivant:

    <td align="right">Selection</td>
    <td align="left">
    <select name="Selection" onchange="pagedirection.submit()">
    <option>choix1</option>
    <option>choix2</option>
    <option>choix3</option>
    </select>
    </td>
    </tr>

    <td align="right">Validation</td>
    <td align="left">
    <input type="submit" value="Valider">
    </td>
    </tr>

    page direction est une servlet qui en fonction du choix coché dans selection, vers une page JSP.

    Mon problème est comment aller vers une page plustôt que d'aller vers la Servlet pagedirection lorsque le bouton de validation est selectionné? Ou bien est ce que depuis ma servlet je peux déterminer si le bouton de validation a été cliqué (Est il possible de faire un request.getParameter("Validation")?)

    Par avance merci.

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Par défaut
    Bonjour,
    Oui tu peux savoir depuis ta servlet si le bouton submit a été enfoncé... dans ce cas il possède une valeur (le value) qui doit être a null il me semble si non enfoncé....
    C'est typiquement ce qui peut permettre de mettre plusieurs boutons de validation dans un même formulaire pour réaliser des actions différentes.

    Le request.getParameter te retournera effectivement quelque chose...

Discussions similaires

  1. JSP: ajouter un listener sur un TreeNode
    Par hurric dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 09/07/2008, 14h57
  2. [JSP]comment créer un listener pour ma base de données
    Par Ekimasu dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 10/05/2004, 14h49
  3. [JSP/Servlet] Outils pour developper?
    Par BenoitM dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 04/05/2004, 11h03
  4. problème JSP avec JBuilder et Weblogic 7
    Par viny dans le forum JBuilder
    Réponses: 2
    Dernier message: 24/04/2003, 08h07
  5. DoubleClick Listener & ENTER
    Par Pro_Fete dans le forum Composants
    Réponses: 4
    Dernier message: 27/01/2003, 13h23

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