1er pt ok. 2ime Recuper tous les champs d'une liste - HTML/CSS - Programmation
Marsh Posté le 24-10-2002 à 12:46:13
http://forum.hardware.fr/forum2.ph [...] h=&subcat=
Marsh Posté le 24-10-2002 à 14:07:59
Oui et c la que ca coince, car j utilise un javascript et il a accete pas que mon nom contienne un []
j ai ca :
Deplacer(this.form.pers,this.form.personne)
mais si mon select s'appelle personnen[] ca marche plus :-(
Et autre chose, y a t il une solution pour recuperer toutes les valeurs de la liste qu'ils soient selectionnés ou pas ?
Marsh Posté le 24-10-2002 à 14:16:57
monSelect = "personne[]";
Puis tu y accèdes avec :
document.ton_formulaire.elements[monSelect]
Pour récupérer toutes les options de la liste il faut parcourir le tableau document.ton_formulaire.elements[monSelect].options[]
Marsh Posté le 24-10-2002 à 14:42:01
J avoue ne pas avoir saisi a 100% ce que tu me dis
j ai un script en haut de ma page
Code :
|
Puis du code :
Code :
|
Tout ca dans un formulaire.
Donc mes questions
1/ monSelect = "personne[]";
je le mets dans mon second code dans des quotes js ?
2/ document.ton_formulaire.elements[monSelect].options[]
Ca c pas possible dans une autre page, apres l envoi du formulaire non ?
Marsh Posté le 24-10-2002 à 14:59:36
a. Le nom de tes <select> doit contenir les [] :
<select name='personen[]' multiple size='8' $read_o>\n"; |
b. Ensuite j'appelerais la fonction comme ça :
onclick=\"Deplacer('personen[]','persone[]');\" |
(parce que "this" c'est le <input> c'est pas le document html)
c. Enfin dans la fonction tu accèdes à tes <select> avec :
document.le_nom_de_ton_formulaire.elements[l1] et |
Pour ta deuxième question ce n'est pas possible à moins de faire un script qui envoie toutes les valeurs du <select> avant la soumission. Mais dans ce cas on ne pourra pas distinguer les options qui auront été sélectionnées par l'utilisateur.
Marsh Posté le 24-10-2002 à 15:10:40
c. Enfin dans la fonction tu accèdes à tes <select> avec :
document.le_nom_de_ton_formulaire.elements[l1] et |
[/citation]
Bon je suis une vraie quiche en js, alors je remplace mes l1 et l2 existant par ce que tu as marqué ?
Marsh Posté le 24-10-2002 à 15:11:43
[citation]
c. Enfin dans la fonction tu accèdes à tes <select> avec :
document.le_nom_de_ton_formulaire.elements[l1] et |
[/citation]
Bon je suis une vraie quiche en js, alors je remplace mes l1 et l2 existant par ce que tu as marqué ?
[/citation]
Edsit : Rhaaaaaaaaa je viens d essayer et ca amrche !!
Il me reste plus qu a trouvé comment recurperer toutes les valeurs.
Merci bcp en tout cas tu m as donné un veritable coup de main
Marsh Posté le 24-10-2002 à 15:14:50
Ben dans le corps de la fonction, au lieu d'utiliser l1, tu utilises document.le_nom_de_ton_formulaire.elements[l1]
Si tu trouves ça trop long à écrire tu peux utiliser des variables au début :
var liste1 = document.le_nom_de_ton_formulaire.elements[l1];
var liste2 = document.le_nom_de_ton_formulaire.elements[l2];
Et ensuite tu remplaces les l1 et l2 restant par liste1 et liste2.
Marsh Posté le 24-10-2002 à 15:24:18
Allez je te sens chaud.
Donc voila en fait a chaque modif je voudrais qu'on force tous les champs de la liste personen[] a etre selectionné (seul moyen que je vois pour recuperer toutes les valeurs)
Marsh Posté le 24-10-2002 à 17:09:25
Bon avec ca :
this.frm.elements[l3].options.selectedIndex=1
j arrive a en choisir un, mais je voudrais pouvoir tous les prendre
Marsh Posté le 24-10-2002 à 17:36:10
Ben pour faire tous les autres tu dois récupérer la longueur du tableau this.frm.elements[l3].options, faire une boucle afin de mettre tous les attributs this.frm.elements[l3].options[i].selected à true.
Marsh Posté le 25-10-2002 à 09:27:32
Yes nickel ca, pas tres elegant comme methode mais super efficace !!
Marsh Posté le 24-10-2002 à 11:51:52
[quote]Voila, j ai une liste deroulante ou les gens peuvent choisir plus choses mais je ne sais pas comment faire pour recuperer les envoies choisis, quand j affiche le resultat je n ai que le dernier champ recuperé.[quote]
-----Done (merci GMS)
2/
est il possible de recuperer tous les champs d'une liste ?
ou
a chaque modif je voudrais qu'on force tous les champs de la liste personen[] a etre selectionné (seul moyen que je vois pour recuperer toutes les valeurs)
Message édité par Sebastien le 24-10-2002 à 16:24:34