[html] lien dans menu déroulant [Fermé]

Signaler
-
 Max573 -
Salut tous le monde,

je souhaiterai donner un lien à chaque mot contenu dans une liste déroulante. Des que le mot est selectionné on va sur la page sans avoir besoin de passer par un bouton de validation.

J'ai déja ca mais ca marche pas :

<FORM NAME="exemple" >
<SELECT NAME="prenom" >
<OPTION VALUE="ronan"><a href = "ronan.html">Ronan</a>
<OPTION VALUE="jean"><a href = "jean.html">jean</a>
<OPTION VALUE="vide" > vide </OPTION>
</SELECT>

16 réponses

Encore plus simple :

<form name="form" >
<select size="1"  onChange="location = this.options[this.selectedIndex].value;">
	<option value="lien.html" >1</option>
	<option value="lien.html" >2</option>
	<option value="lien.html" >3</option>
</select>
</form>
46
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 87682 internautes nous ont dit merci ce mois-ci

Je cherchais, je cherchais, je cherchais et j'ai trouvé ton commentaire !!!
MERCI beaucoup, c'est parfait !
Merci pour votre solution, j'ai cherché partout sur le net .. Merci beaucoup.
Vylmaa
Messages postés
1
Date d'inscription
vendredi 26 juillet 2013
Statut
Membre
Dernière intervention
26 juillet 2013

Cool ça résout parfaitement mon problème =)
Messages postés
354
Date d'inscription
jeudi 2 juin 2005
Statut
Membre
Dernière intervention
30 décembre 2010
107
tu peux faire comme ca :
<form method=... id="tonForm">
<select ... onchange="goUrl(this);" >
<option value="ronan.html">Ronan</option>
<option value="jean.html">Jean</option>
<option value="vide">Vide</option>
</select>
</form>

et ta fonction jscript a mettre dans le head:
function goUrl(selectUrl) {
url=selectUrl.options[selectUrl.SelectedIndex].value ;
getElementById('tonForm').action=url ;
getElementById('tonForm').submit() ;
}
la bonne version est celle de sam469 sauf qu'on peut se passer du bouton go:


<select onchange="MM_jumpMenu('parent',this,0)">
<option value="">Redirection</option>
<option value="Lien1">Titre1</option>
<option value="Lien2">Titre2</option>
<option value="Lien3">Titre3</option>
</select>
oups j'avais oublié le script à mettre dans le header:

<script type="text/JavaScript">
function MM_jumpMenu(targ,selObj,restore){
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
</script>
> Willpower
Merci a vous sam et willpower
les 2 codes marchent tres bien, sous Firefox ET Internet Explorer
:)
> Willpower
super merci mais comment faire pour que le lien s'ouvre dans une nouvelle fenêtre ?
merci d'avance
Voilà moi j'ai fait ça et ça marche :

<form method=... name="from">
<select name="sites">
<option onclick="redirection()" value="http://www.google.com">google</option>
<option onclick="redirection()" value="http://www.youtube.com">youtube</option>
<option onclick="redirection()" value="http://www.lycos.com">lycos</option>
</select>

et la fonction javascript :

<script language="javascript">
function redirection()
{
f=window.open("");
f.location.href=window.document.from.sites.options[window.document.from.sites.selectedIndex].value ;
}
</script>
le code de Timon a juste un 'S' dans selectedIndex (ce qui montre qu il t ecrit la solution en direct live... trop fort) mais a part ca il fonctionne

quant a ton code j emets un petit doute car ca ne fonctionne pas sous IE (pas de onclick sur OPTION... sic... oui c est dur mais c est comme ca)
et meme s il fonctionnait j ai un doute sur le resultat (l evenement click etant lance avant meme d avoir selectionne le resultat final)
> slooptoo
Belle remarque à tanguy mais que faut il faire pour que cela fonctionne sous IE
bonjour, j'utilise le code donné par tanguy qui marche très bien seulement je voudrais que lorsque je clique sur certains des choix du menu on reste dans la même fenêtre (que ça n'ouvre un nouvel onglet )

j'ai essayé avec des trucs comme target="_blank" mais pas de résultat

je suis un peu novice, quelqu'un pourrait m'aider
Ok merci Timon1102

on est donc obliger de passer par du javascript pour détecter le click sur un lien ?
il faut tester l'url=="vide"
C'est à dire ?
Salut tous le monde,

j'ai testé le code écrit plus haut

<form method=... id="tonForm">
<select ... onchange="goUrl(this);" >
<option value="ronan.html">Ronan</option>
<option value="jean.html">Jean</option>
<option value="vide">Vide</option>
</select>
</form>

et ta fonction jscript a mettre dans le head:

function goUrl(selectUrl) {
url=selectUrl.options[selectUrl.SelectedIndex].value ;
getElementById('tonForm').action=url ;
getElementById('tonForm').submit() ;
}

et ca ne me fait rien du tout. Les pages .html se situent bien dans le repertoire pourtant.
je confirme; lol
Messages postés
354
Date d'inscription
jeudi 2 juin 2005
Statut
Membre
Dernière intervention
30 décembre 2010
107
euh ca devrait au moins faire un clignotement, ou qq choz qui di que ca reflechit... ton navigateur accepte le javascript ? Moi j'ai utilisé ce type de code plus d'une fois avec succès
salut!!!

moi j'ai un autre problème !!! J'ai crée un menu déroulant à gauche. Quand je clique sur le bouton go la page s'affiche bien à droite mais le problème c'est qu'elle ne s'ouvre pas !!! pourquoi???


merci de ton aide !!!
Nathalie, t'es pas Claire ...
Bonjour,
Vos codes fonctionne très bien mais j'aimerais avoir un fonction à la place d'un URL comment faire.

En gros j'ai une image par défaut et je veux la modifier dès que je sélectionne un nom dans le menu déroulant.
Messages postés
103
Date d'inscription
samedi 29 juillet 2006
Statut
Membre
Dernière intervention
11 novembre 2019
18
Bonjour,
je voudrais faire un menue déroulant
ou dans le titre du menue il y aurais marqué
PRESTATIONS
et quand on clique dessus il apparait un menu ou il serais ecrit
GELS
RÉSINES
GAINAGES
MANUCURE
de façon que quand que je clique sur ces liens j'ai acxé a aux pages GELS RÉSINES GAINAGES MANUCURE
ce que je veux est un peux différents des menus de roulants ou accordéons traditionnel
que pouvez me conseillez
voilas mon site
http://excellence.nails.free.fr/
mercis
<select name="jumpMenu" id="jumpMenu">
<option value="Lien1">Titre</option>
<option value="Lien2">Titre</option>
<option value="Lien4">Titre</option>
</select>
</form>

<input type="button" name="go_button" id= "go_button" value="Aller" onclick="MM_jumpMenuGo('jumpMenu','parent',0)" />


Menu déroulant avec son Bouton "ALLER"

J'espère vous avoir aidez!

a bientôt!

s@m
> sam469
San oublier le Scipt dans le head ^^

<script type="text/javascript">
<!--
function MM_jumpMenuGo(objId,targ,restore){ //v9.0
var selObj = null; with (document) {
if (getElementById) selObj = getElementById(objId);
if (selObj) eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0; }
}
//-->
</script>


a+

S@m
> sam469
mercis beaucoup
je vais aissayer avec ce langage.
> sam469
Super] merci mais comment faire pour que les pages s'ouvrent dans un nouvel onglet ?
merci d'avance
Bonjour,

Merci pour ce petit point intéréssant mais comment faire pour que sa aille dans la même fenêtre la sa ouvre une nouvelle fenêtre pour aller dans le lien.

Merci beaucoup
bonjour
je confirme : exellent et simple.
QUESTION
Le menu deroulant étant dans une page de cadre 1 d' entete et pour que les liens s'ouvre dans une la page de ce meme cadre 2 en dessous : que dois je ajouter au script ?
merci de votre réponse
JP
<form name="form" >
<select size="1" onChange="location = this.options[this.selectedIndex].value;">
<option value="lien.html" >1</option>
<option value="lien.html" >2</option>
<option value="lien.html" >3</option>
</select>
</form>

ce code fonctionne tres bien chez moi , j'aurais voulu simplement que le texte soit en couleur
Exemple : vert pour lien actif ( website , utube ...... ) rouge pour lien non actif
Si quelqu'un saurait m'aider ce serait super sympa
ps j'ai essayé avec les balises couleur mais cela ne marche pas
Merci a d'avance
Messages postés
354
Date d'inscription
jeudi 2 juin 2005
Statut
Membre
Dernière intervention
30 décembre 2010
107
non, mais dans ce cas c'est pas un lien ordinaire
oublie pas de tester si url=='vide' ne fait pas le submit
Messages postés
354
Date d'inscription
jeudi 2 juin 2005
Statut
Membre
Dernière intervention
30 décembre 2010
107
je sais pas, tu avais l'air de vouloir mettre une option de valeur "vide", dans ce cas yapa d'url, donc rien a faire
if(url!='vide') getE...).submit() ;
je confirme ces codes marchent très bien ;) merci