Récupérer select de formulaire pour le traiter...

Résolu
z980x Messages postés 897 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 26 juillet 2007 - 25 janv. 2007 à 19:50
z980x Messages postés 897 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 26 juillet 2007 - 26 janv. 2007 à 20:03
Bonjour à tous,

dans le cadre d'un projet pour mes études, j'ai besoin de récupérer les données d'un select grace à un formulaire.

En fait, j'ai deux listes. Quand je clique sur la première, cela déplace l'item cliqué dans la deuxieme liste.

J'aimerais récupérer toutes les infos qui sont dans la seconde liste, grace à formulaire, pour voir les traiter ensuite...

Mais je ne sais pas comment faire pour passer un "select" dans un formulaire, pour que l'on puisse traiter chaque élement dans le code php qui traite le formulaire.

Merci de m'éclairer

Philippe

5 réponses

z980x Messages postés 897 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 26 juillet 2007 2
26 janv. 2007 à 20:03
Bon,

j'ai réussi à faire ce que je voulais, mais j'ai opté pour une solution "bricolage", parce que je n'arrivais vraiment pas à faire fonctionner les autres trucs...

Voici comment j'ai fait:

Attaché à mon bouton de formulaire, un code javascript, pour mettre dans un input hidden les éléments de la liste, séparés par des espaces:
    var i = 0;
    for(i=0; i<document.getElementById('list2').options.length;i++){
        document.getElementById('lsteleves').value = document.getElementById('lsteleves').value  +" "+ list2.options[i].value;
    }
    document.formgroupe.submit();

Ensuite, dans le code PHP, je récupère le champ hidden,  je le splitte et il se mets donc dans un tableau... Ensuite, un parcours classique de tableau, ca ya pas de problème...
$tableau_mots = split(" +",trim($ligne));
//Le + c'est dans le cas ou il y a plusieurs espaces à la suite...
for($i=0;$i<sizeof($tableau_mots);$i++) {// tant que $i est inferieur au nombre d'éléments du tableau...
    echo $tableau_mots[$i].'
'; // on affiche l'élément du tableau d'indice $i
}

Merci pour ton aide
Voila !
3
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
26 janv. 2007 à 09:39
Bonjour,

un select EST un élément de formulaire, au même titre qu'un input. Tu dois juste choisir un select multiple, qui te renverra une variable post tableau. Le reste (passer une ligne d'un select à l'autre) c'est du javascript.

à+
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
26 janv. 2007 à 09:50
Quoique, en relisant ce que tu dis je ne crois pas que tu veuilles utiliser un select... tu utiliseras plutot un javascript qui se déclenche au moment de la soumission du formulaire et qui ira enregistrer les données dans une variable tableau html du type tableau[].
Regarde du côté de getElementById().value = 'valeur'; en javascript
0
z980x Messages postés 897 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 26 juillet 2007 2
26 janv. 2007 à 10:14
Salut,

premièrement, merci pour ta réponse.
Malheureusement, j'ai du mal m'exprimer... Je t'explique à nouveau:

le passage d'une liste à l'autre est déja effectué, ca, en javascript, pas de problème.
Mais j'aimerais passer la liste de droite en paramètre dans le post... Mais je ne veux pas que ce soit une liste à sélection multiple...

Il me faudrait un truc du style:

$list = $POST_['maliste'];
for ...
echo $list[i];
...

Comment faire???

Merci

Philippe
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
26 janv. 2007 à 11:29
Oui, c'est ce que j'ai compris dans mon second post...

quand tu passes d'une liste à l'autre tu enregistres la valeur dans une variable javascript. Et au moment de la soumission tu transfères cette valeur dans le formulaire (un simple input text 'maliste' suffira je pense ?)

Après, faut voir quelle est la façon la plus propre... je ne sais pas si
for...
    getElementById('maliste')[].value = 'valeur';
...
pourrait marcher... bon mais peu importe l'idée est là.

je suis assez clair?
0
Rejoignez-nous