Rechargement de la page

akara67
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 17:00

Bonjour
en fait j'ai une listebox A qui contient les départements, lors d'une selection d'un département j'ai le nom du departement qui est stocké dans un select sans scrollbar genre select multiple
jusque là keine problem...Und ich habe eine autre listebox B qui contient aussi les departement mais lorsque je selectionne un département j'ai la liste des communes appartenant à ce departement dans une listebox aussi.
Quand je choisi des départements de la liste A qui ensuite sont stockés dans le select multiple puis ensuite je passe à la liste B je choisi un département aussitôt les départements dans le select multiple disparaîssent,
car dans la listebox A je fait onchange="document.forms['chgcom'].submit();"

mais je ne vois pas comment faire pour garder les selections de la liste B lors du rechargement de la listebox A

PS : quand je dis select multiple enfait j'ai fait un select avec un style...

Code : Tout sélectionner

style="scrollbar-3dlight-color:red; border: red 1px solid; BACKGROUND-COLOR: #f2f2f2;width:300px"
je n'arrive pas à prendre les valeurs du 'tableau' , le select s'appelle dep[] et je fait un print_r et je n'ai rien du tout[/code]

Invité
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 17:10

mais je ne vois pas comment faire pour garder les selections de la liste B lors du rechargement de la listebox A
nan c'est plutôt comment faire pour garder les selections (dans le fameux select multiple) de la liste A lors du rechargement de la listebox B

Petit nouveau ! | 6 Messages

17 juil. 2007, 09:45

personne ne peut répondre ?
mes select A et B font partie du même formulaire et elles ne sont pas liées..
Mon problème c'est quand la page est rechargée , je perds les values dans le select genre multiple
O_o'

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

17 juil. 2007, 09:50

Dès le moment où tu soumets ton formulaire au serveur, tu ne peux pas "garder" les éléments sélectionnés. Il te faut récupérer toutes les valeurs du formulaire et re-selectionner toi même les bonnes valeurs de tes listes déroulantes avec l'attribut "selected" des balises "option".

Par contre si j'ai bien compris, tu fais passer les valeurs du select A vers un autre select pour les considérer comme selectionnées. Si c'est bien le cas, ce n'est pas un comportement logique pour le navigateur qui ne peut pas savoir que le 2nd select correspond aux éléments désirés. Pour lui, seul ce qui est "sélectionné" est envoyé avec le formulaire. Il te faut donc sélectionner toutes ces valeurs avant l'envoi du formulaire pour que celles-ci puissent être soumises et récupérées. Tu peux faire ça avec un simple boucle javascript qui selectionnera une par une toutes les options :
for (var i=0; i<document.ton_formulaire.ta_liste.options.length; i++) {
  document.ton_formulaire.ta_liste.options[i].selected = true;
}
// ensuite faire le submit
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 6 Messages

17 juil. 2007, 11:05

mais comment je fais pour récupérer en php les valeurs lorsque je fais :

Code : Tout sélectionner

for (var i=0; i<document.ton_formulaire.ta_liste.options.length; i++) { document.ton_formulaire.ta_liste.options[i].selected = true; }
O_o'

Petit nouveau ! | 6 Messages

17 juil. 2007, 14:43

personne?
O_o'