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 :

choix multiples dans une liste déroulante


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 54
    Points : 42
    Points
    42
    Par défaut choix multiples dans une liste déroulante
    bonjour tout le monde,
    je vous explique mon problème:

    j'ai une liste déroulante dans laquelle le user puisse selectionner un ou plusieur choix.dans la balise html je sais qu'il faut utiliser l'attribut multiple="multiple".
    Toutefois je n'arrive pas à récuperer les valeurs sélectionnées dans ma liste déroulantes.
    Je récupère que la première valeur sélectionnée.

    si quelqu'un peut m'aider ça serait sympas.

    ps:j'ai fait pas mal de recherche sur le web ou j'ai trouvé des solutions de code en javascript mais aucune n'apparait efficace.
    je vous laisse le bout de code concerné:

    ça c ma connexion à ma bdd
    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
    <form action="../Maservlet" method="post" target="Maservlet">
     
    		<%  Connection connection = null;
                    Statement statement = null;
                        ResultSet result = null;
                        DataSource dataSource = null ;
                            try 
                            {
                            dataSource = (DataSource)new InitialContext().lookup("java:jdbc/XXXX");
                            
                            } catch (NamingException e) 
                            {
                            e.printStackTrace();
                            }
                        %>


    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
    <tr>
    				<td align="center">
    				<strong>LC</strong>
    				<select name="XXXX" id="XXXX" size="1" multiple="multiple">
     
                	<%
                    
                        connection = dataSource.getConnection();
                        statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                                               ResultSet.CONCUR_READ_ONLY);
                        /**
                          * Retrieve the last update date
                          **/
                        result = statement.executeQuery("select distinct(XXXX)from maTable order by XXXX");
                        out.print("<option selected></option>");
                        while (result.next()) {
                            try
                            {
                                    out.print("<option>" + result.getString("XXXX") + "</option>");
                            } 
                            catch (NullPointerException e) 
                            {
                                    
                            }
                        }
                        result.close();
                        statement.close();
                        connection.close(); 
                    %>
    				</select>
    				</td>

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Salut,

    Pour une liste à sélections multiples, tu récupères un tableau au niveau de ta servlet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String[] listeSelect = request.getParameterValues( "XXXX" );
    Sinon en javascript, un traitement simple sur la liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                    for(yo=0;yo<document.NomDeLaFormContenantLaListe.XXXX.length;yo++){
                        if(document.NomDeLaFormContenantLaListe.XXXX.options[yo].selected == true){
                        compteselect++;
                        }
    On peut aussi y accéder avec l'id
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  3. #3
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    merci mon pote je t'aime ça marche niquel avec le javascript
    merci beaucoup
    merci encore
    ciao a+

  4. #4
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    snif ça ne marche plus ou alors je ne lé pas mis au bon endroit
    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
    <tr>
    				<td align="center">
    				<strong>LC</strong>
     
    				<select name="XXXX" size="1" multiple="multiple">
     
    				<script type="text/javascript">
                                    
     
                                for(i=0;i<document.NomDeLaFormContenantLaListe.XXXX.length;i++)
                                    {
                        if(document.NomDeLaFormContenantLaListe.ope_type.options[i].selected == true)
                                            i++;
                    }
                    //-->
                                    </script>				
     
                	<%
                    
                        connection = dataSource.getConnection();
                        statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                                               ResultSet.CONCUR_READ_ONLY);
                        /**
                          * Retrieve the last update date
                          **/
                 
                        result = statement.executeQuery("select distinct(XXXX)from fcm_operation order by ope_type ");
                        
                        out.print("<option selected></option>");
                        while (result.next()) 
                        {
                            try
                            {
                                    out.print("<option>" + result.getString("XXXX") + "</option>");
                            }               
                            catch (NullPointerException e) 
                            {
                                    
                            }
                        }
                        result.close();
                        statement.close();
                        connection.close(); 
                    %>
     
    				</select>

  5. #5
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Non, cela ne va pas du tout, ton code ....

    C lorsque ton utilisateur a choisi une ou plusieurs éléments de ta liste que tu fais soit un submit sur une form, qui appelera une servlet
    Ou sur un événement que l'on définit (par ex onselect, onchange etc) du controle (ta liste par ex) que tu appelles une fonction javascript ...

    Bref tu dois avoir pleins d'ex sur le net ...

    Sinon, en gros, tu vires
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    out.print("<option selected></option>");
    qui sert à rien

    tu mets ton select entre les balises d'un form dont le nom sera:
    NomDeLaFormContenantLaListe par ex

    puis tu créé un bouton quelconque qui lorsque l'on click dessus appel la fonction que je t'ai donné (ceci est encore un ex)
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  6. #6
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    ok j'ai compris le principe ttfois
    cela m'affiche la première valeur qui est sélectionnée par ordre alphabétique et non l'autre ou les autres valeurs sélectionnées c assez byzarre.

    par contre j'ai ooublié d'émettre que le bout de code ke g poster est dans un frame et que la(ou les) valeur(s) que je veux afficher sont dans une autre frame le lien entre ces deux frames est un bouton refresh qui appelle une action dans une servlet.
    je c pas si ça vien de mon IE mais c la version6.0

    car je rencontre les memes problèmes pour le freeze de la première ligne de mon tableau

Discussions similaires

  1. Sélection multiple dans une liste déroulante
    Par annkevsa dans le forum LabVIEW
    Réponses: 0
    Dernier message: 23/10/2013, 14h07
  2. Selection d'un choix effectué dans une liste déroulante
    Par jerem1 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/09/2011, 23h15
  3. Réponses: 3
    Dernier message: 13/08/2009, 10h55
  4. [AC-2003] Choix "Tous" dans une liste déroulante
    Par chris76 dans le forum IHM
    Réponses: 2
    Dernier message: 09/06/2009, 10h13
  5. Réponses: 27
    Dernier message: 12/04/2007, 10h23

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