Selectionner tous les elements d'une liste

cs_Tibus Messages postés 1 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 21 février 2003 - 21 févr. 2003 à 12:22
cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 - 23 févr. 2003 à 19:40
Salut!

Sur ma page j'ai deux liste remplies à partir de requettes sql, deux boutons permettants de faire passer (cote client) les elements d'une liste à l'autre et un bouton pour soumettre mon formulaire. Le probleme c'est que lorsque j'envoi mon formulaire, les elements des differentes liste ne sont pas selectionner donc le request.form ne connait pas les elements qui ont change de liste. Je souhaiterais donc creer une fonction qui me permette de selectionner TOUS les elements de me liste avant d'envoyer mon formulaire.
Pour le moment j'ai fait une fonction, mais elle ne me permet de selectionner que le dernier enregistrement.

function Sauvegarde(MaListe)
{
for(i=0;i<MaListe.options.length;i=i+1)
{
MaListe.options.selectedIndex=i;
}
document.Utilisateurs.submit();
}

SelectedIndex ne permet de selectionner qu'une ligne (malgres le fait que ma liste soit en "multiple" selection.

donc si vous avez une idee....

Merci.

Florian

1 réponse

cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
23 févr. 2003 à 19:40
Bonsoir,

Utilise ceci :
function Sauvegarde(MaListe)
{
for(i=0;i<MaListe.options.length;i++)
{
MaListe.options[i].selected="selected";
}
document.Utilisateurs.submit();
}

Mais si tu veux le traiter en php, ça ne sera pas suffisant : la liste doit s'appeler "MaListe[]" afin de récupérer un tableau des différents éléments, et la fonction doit être modifiée.
Si l'on considère le bouton d'envoi suivant :

function Sauvegarde(formulaire)
{
var nb = formulaire.elements["MaListe[]"].length;
for(i=0;i<nb;i++)
{
formulaire.elements["MaListe[]"].options[i].selected= "selected";
}
formulaire.submit();
}

A+

jc
0