Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recuperer les valeurs d'une liste mu ltiple

4 réponses
Avatar
Finopat
Bonjour à tous,

j'ai besoin de remplir une liste à partir d'une autre liste,
à gauche j'ai une liste avec une liste d'options et quand je les
sélectionne
elles sont basculées dans une liste à droite, je l'ai fait depuis
l'exemple suivant :
c'est l'exemple 8 : Bascule entre deux listes

http://www.toutjavascript.com/savoir/savoir06_3.php3

cela fonctionne il me reste maintenant à récupérer en PHP les valeurs de
la liste de droite
après validation du formulaire, et là ca ne fonctionne pas : je ne
récupère que la dernière valeur sélectionnée.

D'un autre côté j'ai trouvé cela :
http://philippe.medan.free.fr/CoursPHP/phpPasseListeMultiplePost.php
la solution proposée est donc de rajouter [] à la fin du nom de la liste,
et là c'est Javascript
qui ne veut pas de cette syntaxe.

Quelqu'un peut il me donner une solution qui mettrait d'accord PHP et
Javascript ?


Merci d'avance
Finopat ...... qui commence à préférer les listes de la terre du milieu

4 réponses

Avatar
nipepsi
Finopat wrote:
Bonjour à tous,

j'ai besoin de remplir une liste à partir d'une autre liste,
à gauche j'ai une liste avec une liste d'options et quand je les
sélectionne
elles sont basculées dans une liste à droite, je l'ai fait depuis
l'exemple suivant :
c'est l'exemple 8 : Bascule entre deux listes

http://www.toutjavascript.com/savoir/savoir06_3.php3

cela fonctionne il me reste maintenant à récupérer en PHP les valeurs
de la liste de droite
après validation du formulaire, et là ca ne fonctionne pas : je ne
récupère que la dernière valeur sélectionnée.

D'un autre côté j'ai trouvé cela :
http://philippe.medan.free.fr/CoursPHP/phpPasseListeMultiplePost.php
la solution proposée est donc de rajouter [] à la fin du nom de la
liste, et là c'est Javascript
qui ne veut pas de cette syntaxe.

Quelqu'un peut il me donner une solution qui mettrait d'accord PHP et
Javascript ?


Merci d'avance
Finopat ...... qui commence à préférer les listes de la terre du milieu
t'uilise quoi comme variable au niveau de ton formulaire ?

un peu de code nous aiderait peut-être ...

Avatar
Saad Saad
Bonjour à tous,

j'ai besoin de remplir une liste à partir d'une autre liste,
à gauche j'ai une liste avec une liste d'options et quand je les
sélectionne
elles sont basculées dans une liste à droite, je l'ai fait depuis
l'exemple suivant :
c'est l'exemple 8 : Bascule entre deux listes

http://www.toutjavascript.com/savoir/savoir06_3.php3

cela fonctionne il me reste maintenant à récupérer en PHP les valeurs
de la liste de droite
après validation du formulaire, et là ca ne fonctionne pas : je ne
récupère que la dernière valeur sélectionnée.

D'un autre côté j'ai trouvé cela :
http://philippe.medan.free.fr/CoursPHP/phpPasseListeMultiplePost.php
la solution proposée est donc de rajouter [] à la fin du nom de la
liste, et là c'est Javascript
qui ne veut pas de cette syntaxe.

Quelqu'un peut il me donner une solution qui mettrait d'accord PHP et
Javascript ?


Merci d'avance
Finopat ...... qui commence à préférer les listes de la terre du milieu


la solution est bien d'ajouter [] pour le nom de ton select

<select name="liste[]" id="liste" size="10" multiple>

si tu veux par exemple qu'il soit impossible de submiter le formulaire
si rien n'est selectionner, suffit de faire

if (document.form[0].liste.selectedIndex<0)
{
...

Avatar
Choub
Tu récupères une valeur unique après avoir envoyé le formulaire car
uniquement la deniere valeur changé de liste est sélectionnée. Pour
envoyer plusieurs valeurs sous forme de tableau, je te conseille de ne
pas nommer ta liste "liste[]" mais bien "liste" et, sur l'évenement
onSubmit, de changer le nom en tableau, puis de sélectionner toute ta
liste pour pouvoir récupérer toutes les valeurs.
En gros faire une fonction dans ce genre :

document.myform.onsubmit=function(){
/*
Validation du formulaire
...
*/

//Formattage de la liste pour l'envoi du formulaire
for(i=0; i<this.list.length; i++) this.list.options[i].selected true;
this.list.name = "list[]";
return true;
}


ici on accède à la liste en utilisant son nom (this.list.length).
Cela ne marchera pas si le nom de la liste fini par []. Il faut donc
changer ce nom avant l'envoi, après avoir sélectionné toute ta
liste, ce que fait le script au dessus.

Cordialement
Avatar
Finopat
Le 01 Aug 2005 09:36:07 GMT, Finopat a écrit:

Bonjour à tous,

j'ai besoin de remplir une liste à partir d'une autre liste,
à gauche j'ai une liste avec une liste d'options et quand je les
sélectionne
elles sont basculées dans une liste à droite, je l'ai fait depuis
l'exemple suivant :
c'est l'exemple 8 : Bascule entre deux listes

http://www.toutjavascript.com/savoir/savoir06_3.php3

cela fonctionne il me reste maintenant à récupérer en PHP les valeurs de
la liste de droite
après validation du formulaire, et là ca ne fonctionne pas : je ne
récupère que la dernière valeur sélectionnée.

D'un autre côté j'ai trouvé cela :
http://philippe.medan.free.fr/CoursPHP/phpPasseListeMultiplePost.php
la solution proposée est donc de rajouter [] à la fin du nom de la
liste, et là c'est Javascript
qui ne veut pas de cette syntaxe.

Quelqu'un peut il me donner une solution qui mettrait d'accord PHP et
Javascript ?


Merci d'avance
Finopat ...... qui commence à préférer les listes de la terre du milieu



Bonsoir,
désolé de n'avoir pas répondu plus tôt,
je me suis emmellé les pinceaux avec alt.fr.comp.lang.php ...
la solution est bien de rajouter [] au nom de la liste pour récupérer toute
les valeurs de la liste en PHP,
par contre il faut aussi modifier les appels javascript :
ne pas faire les appels avec document.formulaire.liste2[]
mais comme ceci : document.formulaire.elements['liste2[]']
Finopat