Page 1 sur 1

selectionner toutes les valeurs d'un bouton select onsubmit

Posté : 03 nov. 2006, 17:12
par mcorgnet
Re-bonjour à tous.

J'ai un formulaire avec trois listes, dont deux multiples. Quasimment tout fonctionne, sauf la sélection automatique de toutes mes valeurs lors de la soumission :

(ce qui est en commentaire ci-dessous, et entre crochets, c'est l'utilisation des templates)

Code : Tout sélectionner

<table> <form method="post" action="index.php?page={PAGE}" name="assignGroups" onSubmit="PostSelect(this.myChildId)" > <tr> <td> <select name="myParentId" size="10" style="width: 150px;" onChange="this.form.submit()"> <!-- BEGIN MYGROUPS --> <option value="{MYGROUPS.ID}" {MYGROUPS.SELECTED}>{MYGROUPS.NOM}</option> <!-- END MYGROUPS --> </select> </td> <td><input type="image" src="images/adm-save.png" /></td> <td> <select name="myChildId[]" id="myChildId" size="10" style="width: 150px;" multiple > <!-- BEGIN MYUSERSGROUPS --> <option value="{MYUSERSGROUPS.ID}">{MYUSERSGROUPS.ALIAS}</option>; <!-- END MYUSERSGROUPS --> </select> </td> <td><input type="button" value="-->>>" onClick="Deplacer(this.form.myChildId,this.form.myUsers,'Aucun utilisateur selectionne')"/><br /> <input type="button" value="<<<--" onClick="Deplacer(this.form.myUsers,this.form.myChildId,'Aucun utilisateur selectionne')"/></td> <td> <select name="myUsers" size="10" style="width: 150px;" multiple > <!-- BEGIN MYUSERSNOGROUP --> <option value="{MYUSERSNOGROUP.ID}">{MYUSERSNOGROUP.ALIAS}</option> <!-- END MYUSERSNOGROUP --> </select> </td> </tr> </form> </table>
J'ai aussi une tite fonction javascript que j'ai repiquée :

Code : Tout sélectionner

/** * * formulaires select- sélectionner tous les enregistrements * @access public **/ function PostSelect(liste){ for(i=0;i<document.form.liste.length;i++) { document.form.liste.options[i].selected=true; } }
Ce que j'aimerais savoir, c'est ce que je dois mettre dans le onSubmit pour qu'agisse ma fonction javascript, ensuite, j'ai du modifier le javascript, et je suis pas sûr d'avoir bien fait.

Ptit coup d'main svp :d

Posté : 03 nov. 2006, 17:42
par Ryle
Ton problème vient de la fonction javascript.
document.form.liste.length > ton formulaire ne s'appelle pas "form" ;)

Par ailleurs, puisque le paramètre liste que tu passes est envoyé par le formulaire, this.tonChamp correspond à document.tonFormulaire.tonChamp
Tu peux donc directement utiliser liste.length ou liste.options :)

Posté : 03 nov. 2006, 17:50
par mcorgnet
super !

voilà le code qui tourne :

Code : Tout sélectionner

/** * * formulaires select- sélectionner tous les enregistrements * @access public **/ function PostSelect(liste){ for(i=0;i<liste.length;i++) { liste.options[i].selected=true; } }
Merci beaucoup ! j'y ai perdu du temps.