Bonjour,
J'ai un formulaire comprenant entre autres 3 listes déroulantes imbriquées. Lors du submit de ma page, je réaffiche la page que l'utilisateur vient d'écrire afin de lui demander de vérifier ses informations.
Et mon problème intervient là, les variables javascript ne sont pas sauvegardées et l'utilsateur doit de nouveau faire ses choix.
J'update ma page grace à un :
En gros, je voudrais forcer mes listes à prendre comme valeurs par défaut, lors du réaffichage de ma page, les valeurs selectionnées dans les listes lors du premier remplissage.
Code : Sélectionner tout - Visualiser dans une fenêtre à part update table set var1='$var1', etc...,varjavascript='$varjavascript'
Mes listes sont générées par un programme javascript du type :
avec :
- champs1, le 1er champs de la table
- table, ma table
et Choix :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <select name="glob" onChange='Choix(this.form)'> <option>--Choix --</option> <? $que = mysql_query("SELECT DISTINCT champs1 FROM table ORDER BY 1"); while($go = mysql_fetch_assoc($que)){ echo '<option value="'.$go["champs1"]">'.$go["champs1"].'</option>'; } ?> </select> <select name="type"> <option>--Choix--</option> </select>
Comme vous le voyez, j'ai cré un tableau javascript contenant tout ma base de donnée et je travaille ensuite directement sur ce tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 unction Choix(form) { i= form.glob.selectedIndex; if (i==0) return; form.type.options.length = 0; form.type.selectedIndex = 0 ; form.type.options[0]=new Option("--Choix--",0); for(c=0;c<table[i-1].length;c++) { if(c+1 < table[i-1].length) form.type.options[c+1]=new Option(table[i-1][c+1][0],table[i-1][c+1][0]); } }
Je sais que c'est pas joli joli ( ) mais comme la bdd n'est pas très importante ca passe.
J'ai tenté pour mon premier choix de faire ca :
à la place de ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo '<option value="'.$go["champs1"].''.($go["champs1"]==$champscorrespondantdans mabdd?" selected":"").'">'.$go["champs1"].'</option>';
Normalement ca devrait marcher et je vois à peu pres comment faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo '<option value="'.$go["champs1"]">'.$go["champs1"].'</option>';
Par contre pour la seconde liste, crée uniquement en javscript je ne vois pas du tout comment récuperer ma valeur.
Bref, pour résumer :
Comment lors du réaffichage de ma page, avoir par défaut dans mes listes les valeurs séléctionnées dans la page précédentes ?
Merci d'avance.
Partager