Posez votre question Signaler

[html] lien dans menu déroulant

Ronan - Dernière réponse le 1 oct. 2011 à 11:05
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>
Lire la suite 

[html] lien dans menu déroulant »

25 réponses
Réponse
+10
moins plus
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() ;
}
Ajouter un commentaire
Réponse
+7
moins plus
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>
Ajouter un commentaire
Réponse
+2
moins plus
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>
slooptoo - 30 nov. 2006 à 13:13
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)
iyfniky - 12 juin 2009 à 21:25
Belle remarque à tanguy mais que faut il faire pour que cela fonctionne sous IE
athom - 8 janv. 2009 à 02:30
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
Ajouter un commentaire
Réponse
+1
moins plus
Ok merci Timon1102

on est donc obliger de passer par du javascript pour détecter le click sur un lien ?
Ajouter un commentaire
Réponse
+1
moins plus
il faut tester l'url=="vide"
C'est à dire ?
Ajouter un commentaire
Réponse
+1
moins plus
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.
pouet - 6 juil. 2010 à 17:46
je confirme; lol
Ajouter un commentaire
Réponse
+1
moins plus
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
nathalie - 13 sept. 2005 à 17:19
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 !!!
Groumpf - 1 oct. 2011 à 11:05
Nathalie, t'es pas Claire ...
Ajouter un commentaire
Réponse
+1
moins plus
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>
Willpower - 25 nov. 2009 à 10:09
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>
sanadamasayuki - 14 janv. 2010 à 12:03
Merci a vous sam et willpower
les 2 codes marchent tres bien, sous Firefox ET Internet Explorer
:)
Ajouter un commentaire
Réponse
+0
moins plus
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
sam469 - 14 déc. 2008 à 11:47
<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 - 14 déc. 2008 à 19:35
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
pampelline - 15 déc. 2008 à 13:09
mercis beaucoup
je vais aissayer avec ce langage.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
-1
moins plus
non, mais dans ce cas c'est pas un lien ordinaire
oublie pas de tester si url=='vide' ne fait pas le submit
Ajouter un commentaire
Réponse
-1
moins plus
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() ;
Ajouter un commentaire
Réponse
-1
moins plus
je confirme ces codes marchent très bien ;) merci
Ajouter un commentaire
Ce document intitulé « [html] lien dans menu déroulant » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?