Conserver selection liste déroulante

Signaler
Messages postés
37
Date d'inscription
lundi 15 novembre 2010
Statut
Membre
Dernière intervention
12 janvier 2011
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
Bonjour,

j'ai une liste déroulante en php et lorsque je la soumet j'aimerais garder la derniere sélection de ma liste déroulante :

function valider() 
{
var act_select = document.getElementById('activite') ; 
var cli_select = document.getElementById('client') ;
var taille_liste_act = document.getElementById('activite').length; 
var taille_liste_cli = document.getElementById('client').length; 

for(i=0; i<taille_liste_act; i++)
{	
if (act_select.value == activite.options[i].value)
{			
activite.options[i].selected=true;	
}
}
}


select name="activite" id="activite" style="width: 100px">
 $j = 0
 while($j<$nb)
{
print '<option value="'.$tab[$j].'">'.$tab[$j].'</option>';
$j++;
}
</select>
</td>


Mais ca ne fonctionne pas, il me réaffiche sans cesse la premier valeur de ma liste déroulante ...

Merci d'avance

mageek

1 réponse

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
Bonjour,
dur, dur ton code, isolons deux lignes
var act_select       = document.getElementById('activite') ; 
var taille_liste_act = document.getElementById('activite').length;

- act_select fait donc référence à l'élément du document qui a pour ID activite, ceci est correct.
- donc taille_liste_act vaux la longueur de l'élément act_select, il faut m'expliquer ce que représente la longueur d'un objet DOM. Mets un alert( taille_liste_act); dans ton code pour voir!!

...il me réaffiche sans cesse la premier valeur de ma liste ...
comportement normal que ceci, ton document est rechargé avec l'option sélectionnée demandée, si celle ci est selected, ce qui n'apparaît pas dans ton code PHP.
Il te faut donc récupérer l'option selected lors du submit et de la sélectionner par défaut dans ton code PHP.
;O)