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

Struts 1 Java Discussion :

comment récupérer l'option choisie avec html:select


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 23
    Points : 11
    Points
    11
    Par défaut comment récupérer l'option choisie avec html:select
    Bonjour,

    je veux récupérer l'option qui est selectionnée par l'utilisateur par html:select et html:option.

    j'ai donc le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <html:select property="pratiqueId">	
         <html:options   collection="pratiques" property="id" labelProperty="abreviation" />
    </html:select>
    je veux que l'option choisi s'affiche avant l'envoi du formulaire dans la même page.

    merci d'avance.

  2. #2
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    il va falloir faire de l'ajax pour ca en mettant un déclencheur onchange dans le html:select

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    merci pour votre réponse, je suis débutante et je ne sais pas comment faire, pouvez-vous m'aider avec un exemple de code.

  4. #4
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Pas necessaire d'utiliser Ajax, si tu n'as pas besoin d'info qui vienne du server.

    simplement en js :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script>
    function taListeChange(){
    alert(document.getElementById('taListe').value);
    }
    </script>
     
    <html:select property="pratiqueId" styleId="taListe" onclick="taListeChange()">	
         <html:options   collection="pratiques" property="id" labelProperty="abreviation" />
    </html:select>

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Comme willoi, mais directement par les propriétés du formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.forms[0].pratiqueId.value
    ça évite de définir un styleId dans la balise <html:select>

    Mais c'est dans la même idée...

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Citation Envoyé par OButterlin
    Comme willoi, mais directement par les propriétés du formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.forms[0].pratiqueId.value
    ça évite de définir un styleId dans la balise <html:select>

    Mais c'est dans la même idée...

    A+
    Encore faut-il etre sur qu'il n'y'a qu'un seul formulaire dans la page(s'il y'a des includes ou de tiles ...)
    Pour cette raison, je prefere travailler avec des ids. Mais bon, tout depend du contexte ...

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    C'est clair, 9 fois sur 10 je préférerai ta solution, mais c'était juste pour info...

    S'il y a plusieurs formulaires, on peut aussi y accéder par leur nom (si nommé bien sûr) ou leur ordre d'apparition
    document.forms[0] pour le premier
    document.forms[1] pour le deuxième
    etc...

    ou

    document.MonFormulaire1
    document.MonFormulaire2
    etc...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    Citation Envoyé par willoi
    Pas necessaire d'utiliser Ajax, si tu n'as pas besoin d'info qui vienne du server.simplement en js
    J'ai dit ajax, mais je rappelle que ajax ne fait rien d'autre qu'utiliser javascript et la techno xml. Bref, dire qu'il faut faire de l'ajax, ca revient a dire qu'on va utiliser du javascript .

  9. #9
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par zorm
    J'ai dit ajax, mais je rappelle que ajax ne fait rien d'autre qu'utiliser javascript et la techno xml. Bref, dire qu'il faut faire de l'ajax, ca revient a dire qu'on va utiliser du javascript .
    Il y a de la mauvaise foi dans l'air
    Mettre javascript et AJAX au même niveau, c'est gonflé...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    Citation Envoyé par OButterlin
    Il y a de la mauvaise foi dans l'air
    Mettre javascript et AJAX au même niveau, c'est gonflé...
    ah bon. Pour moi le javascript est un langage de programmation alors que l'ajax est une (pseudo)amélioration/évolution du javascript et absolument pas un langage à part entière.
    Peut etre que je me trompe

  11. #11
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Pour moi l'ajax (Asynchronous Javascript And Xml) n'est qu'une possibilité d'intérroger un serveur et de récupérer un fichier xml ou un flux à partir de javascript (sans avoir à quitter la page).
    C'est donc lié à l'objet XMLHttpRequest (ou ActiveXObject(Microsoft.XMLHTTP) avec IE).
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Citation Envoyé par willoi
    Pas necessaire d'utiliser Ajax, si tu n'as pas besoin d'info qui vienne du server.
    Grosso modo c'est ce que je disais, si tu n'as pas besoin d'info venant du serveur, tu n'as pas besoin d'Ajax.

  13. #13
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    j'ai essayé le code de willoi, mais dès que j'essai de selectionner l'item il me sort une alerte avec id 1, je ne peux même pas choisir une autre option que la première.

  14. #14
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    C'est parce que willoi a utilisé l'évènement onclick, tu devrais essayer avec onchange et/ou onblur
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  15. #15
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    merci, ça marche, mais il m'affiche l'id, qu'est ce que je fais si je veux afficher autre chose que l'id, un autre champ de la table (un autre élément de la collection)

  16. #16
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    Peut etre qu'enfin l'ajax va avoir son utilité finallement

  17. #17
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Ce serait du genre onchange("afficheAutreChose('<bean:write.../>');")
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  18. #18
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    oui, je veux afficher un autre élément de ma collection, tout ce que je réussi à afficher maintenant c'est soit l'id soit l'élément selectionner, mais moi je veux afficher un autre attribut de l'élément selectionner.

    merci d'avance.

  19. #19
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Bon, en résumé, tu as un id + un libellé (pour la combo) et tu voudrais afficher une autre information, c'est bien ça ?
    Alors, soit tu fais plaisir à zorm (et il aimerait bien que tu utilises ajax ), soit tu construits une liste d'objets javascript qui te permettra de construire la combo et d'afficher des informations complémentaires (tu peux utiliser onload pour la construction de la combo)
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <head>
    <script ...>
     
    var liste = new Array();
     
    function MonObjet(id, libelle, comment, valeur)
    {
       this.id = id;
       this.libelle = libelle;
       this.comment = comment;
       this.valeur = valeur;
    }
     
    function ajouterValeur(id, libelle, comment, valeur)
    {
       liste[liste.length] = new MonObjet(id, libelle, comment, valeur);
    }
    ...
     
    function creerCombo()
    {
       var combo = document.getElementById("maCombo");
       if ( combo == null ) return;
     
       for ( var i = 0; i < liste.length; i++ )
       {
          combo.options[combo.options.length] = new Option( liste[i].libelle, liste[i].id);
       }
    }
     
    function afficherInfo(id)
    {
       for ( var i = 0; i < liste.length; i++ )
       {
          if ( liste[i].id == id )
          {
             alert("Mes infos :\n- " + liste[i].comment + "\n- " + liste[i].valeur);
             return;
          }
       }
    }
    </script>
    </head>
     
    <body>
    ...
    <select name="maCombo" id="maCombo" onchange="afficherInfo(this.value)">
    </select>
    C'est un exemple (incomplet), à toi de t'en inspirer...

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/01/2008, 14h30
  2. Réponses: 6
    Dernier message: 22/09/2006, 10h01
  3. [C#] Comment appeler une procédure stockée avec multiple SELECT ?
    Par Piolet dans le forum Accès aux données
    Réponses: 2
    Dernier message: 08/06/2006, 16h04
  4. Controler le nombre d'options choisies d'un select
    Par gofono_bass dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/03/2006, 06h28
  5. Réponses: 2
    Dernier message: 22/03/2004, 10h50

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