Selected="selected" ne marche pa

Résolu
x-timas Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   -  
Flohti Messages postés 162 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je vous montre d'abord le code:

<select class="select_sond" name="type_quest[]" onchange="Choix(this)">
				<option value="text1" selected="selected">   Texte</option>
				<option value="text2">   Texte court multiple</option>
				<option value="textarea">Texte de paragraphe</option>
				<option value="checkbox">   Choix multiple</option>
				<option value="radio">Cases à cocher</option>
				<option value="select">  Selectionner dans une liste</option>
				<option value="scale">   Echelle</option>
				<option value="condition">   Question conditionelle</option>
	</select>


Mon problème ici est que si je selectionne un champ (autre que le premier ) et j'actualise ma page sous firefox, l'option sélectionnée ne change pas. Ceci est très important pour le projet sur lequel je travaille, donc aidez moi s'il vous plait.

Je veux qu'en actualisant la page, le select sera placé sur la première option

Merci à tous

7 réponses

Utilisateur anonyme
 
bonjour
précise stp

je ne suis pas dans ta tête et
Mon problème ici est que si je selectionne un champ (autre que le premier ) et j'actualise ma page sous firefox, l'option sélectionnée ne change pas


ne me parle pas du tout
0
x-timas Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   1
 
J'explique:

1- Je charge ma page
2- la première que je vois dans la liste déroulante est
Texte

3- je sélectionne par exemple
Choix multiple

4- si j'actualise ma page après le select devra être sur Texte (ce qui est tout à fait logique et qui fonctionne d'ailleurs sous IE)!!

Hélas, ça reste
Choix multiple


le problème aussi et que ce select est dynamique, donc je me retrouve avec le code qui apparait avec l'option Texte mais ayant l'option
Choix multiple
selectionnee et ça fausse tout dans le php plus tard

J'espère que j'ai été clair

Aidez moi
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Oui ça c'est une caractéristique de Firefox.
J'avoue que je ne sais pas comment la passer.
Tu peux essayer en javascript avec un onload.
Tu fais une fonction JS qui va sélectionner la première option de ton select et tu le met dans le onload="tafonction();" du <body>
0
x-timas Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   1
 
En fait, tu as une petite idée sur la fonction en question?

function tafonction(){
  var selectNode = document.getElementsByTagName("select")[0];
  ...
}


je spécifie comment le champ à selectionner, sachant que je veux que ça soit le premier de ma liste déroulant?

Merci bq
0
x-timas Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   1
 
J'ai pensé à ça mais j'ai posté ici dans l'espoir de trouver un moyen moins "fatiguant".

Des propositions?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Flohti Messages postés 162 Date d'inscription   Statut Membre Dernière intervention   15
 
Salut,

Tu peux rajouter des meta pour éviter que FF ne garde la page en cache, ça force le navigateur à redemander la page au serveur :
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />

Il me semble que ça devrait résoudre ton problème
0
x-timas Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   1
 
?
0
x-timas Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   1
 
C'est une bonne idée, mais ça n'a pas marché. Je ne comprends pas pourquoi

Help :'(
0
Flohti Messages postés 162 Date d'inscription   Statut Membre Dernière intervention   15
 
C'est vrai, ça ne fonctionne pas, je n'avais pas essayé, persuadé!

J'ai essayé ça par contre, et ça ça fonctionne, ça remet tous les 'select' de la page qui ont un 'selected="selected"' à cette valeur définie par défaut.

Il y a 2 versions, la balise body :

<body onload="javascript:
    var selects=document.getElementsByTagName('select');
    for(var i=0;i<selects.length;i++){
        for(var j=0;j<selects[i].options.length;j++){
           if(selects[i].options[j].getAttribute('selected')=='selected')
                selects[i].selectedIndex=j;
        }
    }
">


ou la fonction dans un script :

document.body.onload=function(){
    var selects=document.getElementsByTagName('select');
    for(var i=0;i<selects.length;i++){
        for(var j=0;j<selects[i].options.length;j++){
           if(selects[i].options[j].getAttribute('selected')=='selected')
                selects[i].selectedIndex=j;
        }
    }
};


Il suffit de choisir, et essayer au moins de comprendre : on boucle tous les select de la page où, pour chacun, on boucle les options pour trouver l'attribut 'selected' égal à 'selected', là on définie la valeur du select à la valeur de cette option.

Remarque : comme en HTML, si plusieurs 'selected="selected"' étaient placés dans les options d'un select, c'est le dernier qui sera en dernier valable.

EDIT : M***e, après la guerre !
0
x-timas Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   1
 
C'était tellement simple:
function tafonction(){
  var selectNode = document.getElementsByTagName("select")[0];
  selectNode.selectedIndex = 0;
}



Merci quand même pour l'aide
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Oui c'est ce que je t'ai proposé, la fonction qui définit que le premier élément de la liste déroulante est sélectionné.
0