Menu déroulant [Résolu]

Signaler
Messages postés
6
Date d'inscription
mardi 21 juillet 2009
Statut
Membre
Dernière intervention
29 juillet 2009
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Salut à vous,

Voici, tout d'abord, mes codes :

En <head> :
<script type= "text/javascript">   function chgpage(formulaire)  {    if (formulaire.listepages.selectedIndex != 0)  location.href = formulaire.listepages.options[formulaire.listepages.selectedIndex].value;  }</script>


En :
                <form>  <select name ="listepages" size="1" onChange="chgpage(this.form)">   <option selected="selected">VAR (83)</option>   <option value="pages\besse.html">Besse-sur-Issole</option>   <option value="pages\hyeres.htm">Hyères</option>   <option value="page3.html">Page 3</option>  </select>


Ce script correspond à la mise en place d'un menu déroulant. Or, j'ai créé une iframe sur mon site sous le nom de ifrm1 et aimerais que lorsqu'on clique sur l'un des choix, la page s'affiche dans cette iframe et ne remplace pas la page actuelle.

                <form>  <select name="listepages" size="1" onChange="chgpage(this.form, 'blank.ifrm1')">   <option selected="selected">VAR (83)</option>   <option value="pages\besse.html">Besse-sur-Issole</option>   <option value="pages\hyeres.htm">Hyères</option>   <option value="page3.html">Page 3</option>  </select>


J'ai essayé le code ci-dessus, sans résultats, et suppose soit qu'il est tout simplement faux; soit que j'ai oublié d'inscrire une ligne dans <head>.

Merci à vous !

5 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
Bonjour,
ch'tiot exemple

<form target="ifrm1">  
<select 	name="listepages" size="3" 
onChange="	this.form.action=this.options[this.selectedIndex].value;
this.form.submit();	">   
<option>VAR (83)</option>   
<option value="new 1.htm">Besse-sur-Issole</option>   
<option value="pages/hyeres.htm">Hyères</option>   
<option value="page3.html">Page 3</option>  
</select>
</form>


remarques :
__ si le select à un size="1"
la 1ère option est selected par défaut,
( même sans selected dans l'option )
et pour que le onchange soit activé
il faudra d'abord cliquer "ailleurs"
__ attention aux \ ils sont significatifs
pour le javascript, utiliser /
pages/hyeres.htm...

pour
Cordialement [mon Site] [M'écrire] Bul
Messages postés
6
Date d'inscription
mardi 21 juillet 2009
Statut
Membre
Dernière intervention
29 juillet 2009

Merci beaucoup de ton intervention (et d'une précédente, également, pour laquelle je n'avais plus répondu..),

Adapté, il marche parfaitement mais, si ma curiosité peut se permettre :
1) ce qui renvoie, concrètement, à l'ifram est donc le
<from target="">
?^

2) est-il possible que cette portion
<option>VAR (83)</option>  
ne revoie à rien ? effectivement, lorsque l'on fait son choix (Besse, par exemple) puis qu'on reclique sur VAR (83) : cela affiche une erreur dans l'iframe (normal, il n'y a pas d'information qui s'y rapporte). Ce n'est qu'un détail, mais s'pour savoir :p


Merci encore ! (je ferai gaffe pour les / ^^)
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
oui, c'est le target qui envoie vers l'iframe
>>cela affiche une erreur dans l'iframe
puisqu'on utilise value et que
cette option n'en a pas, c'est normal
Messages postés
6
Date d'inscription
mardi 21 juillet 2009
Statut
Membre
Dernière intervention
29 juillet 2009

Merci, merci de ta rapidité aussi !

Dernière question en rapport : et donc, il est possible (comment ?) de faire qu'une fois avoir cliqué sur le choix, cliquer sur
<option>VAR (83)</option>  
laisse la page ultérieurement choisie affichée ?
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
ne mettre l'action et ne faire le submit que
si this.options[this.selectedIndex].value.length>0
ou si this.selectedIndex>0
ou...