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 :

récupérer les élements d'une liste (<select>)


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de ferrero
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 75
    Par défaut récupérer les élements d'une liste (<select>)
    Bonjour,

    j'ai une page qui contient une liste (balise <select>) et je voudrai récupérer tous les élements de cette liste dans mon action pour pouvoir ensuite les stocker dans la base de données.

    est ce que qlq1 peut m'aider?

    merci d'avance

  2. #2
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Si ta balise select est rempli, les valeurs se trouvent alors dans le form, non???

  3. #3
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Novembre 2005
    Messages : 41
    Par défaut
    JE suppose que tu as un select multiple!
    si c'est le cas utilise une fonction javascript du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
       function selectAll() {
    	var leSelect = document.getElementsByName (nameListNiveau)[0];
    	var i = 0;
     
    	while (i < leSelect.options.length)
    	{
    		leSelect.options[i].selected = true;
    		i++;
    	}
    ou nameListNiveau est le nom de ton champ
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="selectAll();document.tonFormBean.submit();">
    sur le bouton qui te valide le form

  4. #4
    Membre confirmé Avatar de ferrero
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 75
    Par défaut
    Bonjour,

    j'ai ma class Person qui corresponde à une table BD, et une class Tel qui corresponde à la table tel dans la BD, et une personne peut avoir plusieurs tél, ça veut dire qu'il y aura une dans la class Person, et quand je récupère cette set je la trouve vide.
    alors ma question si j'utilise une fonction javascript comme à proposer ahury est ce que je pourrai récupérer les éléments de ma liste dans cette set? sachant que j'utilise déjà une fonction javascript qui permet d'ajouter de nouvels éléments dans la liste

    merci

  5. #5
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Novembre 2005
    Messages : 41
    Par défaut
    Pas trés clair la question.
    tu peux avoit plusieurs fonctions javascript .le code que j'ai collé provient d'une jsp quià plusieurs fonctions javascript dont une pour pacer les elements d'une liste à l'autre et cette fonction selectall() qui recupère tous les élements en une fois pour les mettres dans une list.
    mon code dans la jsp avec mes 2 listes
    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
    <div style="display:inline; float:left" >
     
    <html:select styleId="divNiveauListe" property="htmlListeChoixNiveau"  multiple="true" size="5" style="width:75px;">								
    <html:options collection="beanListeChoixNiveau" property="id"labelProperty="niveau"  />
        </html:select>
              <span class="textRouge">
               <html:errors property="idUniteAvancement"/></span>
    </div>
     
    <div style="display:inline;float:left; padding-left:10px;padding-right:10px;">
    			<input type="button" value="&gt;&gt;" onclick="AddElementFromTo('htmlListeChoixNiveau','htmlListeNiveau')">
    			        		<br><br><br>
    			 <input type="button" value="&lt;&lt;" onclick="AddElementFromTo('htmlListeNiveau', 'htmlListeChoixNiveau')" ></input>
    </div>
    <div style="display:inline; float:left">
    		<html:select property="htmlListeNiveau" multiple="true" size="5" style="width:75px;">
    			<html:options  collection="beanListeNiveau" property="id"labelProperty="niveau"  />
     
    		</html:select>
    		<span class="textRouge" style=" vertical-align:center;"><html:errors property="htmlListeNiveau"/></span>
    </div>
    mon code java script
    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
    var nameListChoix 	= "htmlListeChoixNiveau";
    var nameListNiveau 	= "htmlListeNiveau";
    function AddElementFromTo(fromName, toName){
    	var ofrom 	= document.getElementsByName(fromName)[0];
    	var oto 	= document.getElementsByName(toName)[0];
     
    	var x = 0;
    	while (	x < ofrom.length )
    	{
    		var opt = ofrom.options[x];
    		if (opt.selected)
    		{
    			oto.options[oto.options.length] = new Option(opt.text, opt.value, 0, 0);
    			ofrom.remove(x);
    		}
    		else
    			x++;
    	}
    }
     
       function selectAll() {
    	var leSelect = document.getElementsByName (nameListNiveau)[0];
    	var i = 0;
     
    	while (i < leSelect.options.length)
    	{
    		leSelect.options[i].selected = true;
    		i++;
    	}
    }
    mon form bean avec mes attributs, les getter et setter ainsi qu'une fonction afin d'alimenter ma jsp
    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
     
    private ArrayList listeNiveau 		= new ArrayList();
    	private ArrayList listeChoixNiveau 	= new ArrayList();
     
    	/**
             * @return
             */
    	public ArrayList getListeNiveau() {
    		return listeNiveau;
    	}
     
    	/**
             * @param list
             */
    	public void setListeNiveau(ArrayList list) {
    		listeNiveau = list;
    	}
     
    	/**
             * @return
             */
    	public String[] getHtmlListeNiveau() {
    		log.debug("getHtmlListeNiveau "+listeNiveau.size());
     
    		String [] listeN = new String [listeNiveau.size()];
     
    		int i = 0;
    		log.debug("getHtmlListeNiveau "+listeN.length);
     
    		while (i < listeN.length) {
    			Niveau n=(Niveau)listeNiveau.get(0);
     
    			listeN[i] = ""+ n.getId();
    			log.debug(""+listeN.length);
     
    			i++;
    		}
    		return listeN;
    	}
    La fonction permet de récuperer la liste de la jsp

Discussions similaires

  1. Réponses: 20
    Dernier message: 19/11/2016, 23h32
  2. Réponses: 1
    Dernier message: 21/04/2007, 17h36
  3. Réponses: 4
    Dernier message: 13/11/2006, 18h49
  4. Récupérer les données d'une liste dans un $_POST
    Par Sangdrax1604 dans le forum Langage
    Réponses: 4
    Dernier message: 19/10/2006, 11h55
  5. Réponses: 12
    Dernier message: 02/05/2006, 20h37

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