Rechercher : dans
Par :

[html] lien dans menu déroulant

Dernière réponse le 25 nov 2009 à 10:09:53 Ronan, le 2 jun 2005 à 17:11:37 
 Signaler ce message aux modérateurs

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>

1

Timon1102, le 2 jun 2005 à 17:21:50
  • +2

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() ;
}

Répondre à Timon1102

2

Ronan, le 2 jun 2005 à 17:39:44

Ok merci Timon1102

on est donc obliger de passer par du javascript pour détecter le click sur un lien ?

Répondre à Ronan

3

Timon1102, le 2 jun 2005 à 17:43:44

Non, mais dans ce cas c'est pas un lien ordinaire
oublie pas de tester si url=='vide' ne fait pas le submit

Répondre à Timon1102

4

Ronan, le 2 jun 2005 à 17:52:40

Il faut tester l'url=="vide"
C'est à dire ?

Répondre à Ronan

5

Timon1102, le 2 jun 2005 à 17:56:44

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() ;

Répondre à Timon1102

6

Pierre, le 3 jun 2005 à 16:00:49

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.

Répondre à Pierre

7

Timon1102, le 3 jun 2005 à 16:13:55

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

Répondre à Timon1102

8

nathalie, le 13 sep 2005 à 17:19:32

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 !!!

Répondre à nathalie

9

Tanguy, le 30 nov 2006 à 11:33:17

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>

Répondre à Tanguy

10

slooptoo, le 30 nov 2006 à 13:13:10

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)

Répondre à slooptoo

17

iyfniky, le 12 jun 2009 à 21:25:29

Belle remarque à tanguy mais que faut il faire pour que cela fonctionne sous IE

Répondre à iyfniky

15

athom, le 8 jan 2009 à 02:30:09

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

Répondre à athom

11

pampelline, le 7 déc 2008 à 13:43:14

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 MERCIS POUR VOS REPONSES!
CORDIALLEMENT PAMPELLINE!

Répondre à pampelline

12

sam469, le 14 déc 2008 à 11:47:09

<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

Répondre à sam469

13

sam469, le 14 déc 2008 à 19:35:05
  • +2

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

Répondre à sam469

14

pampelline, le 15 déc 2008 à 13:09:48

Mercis beaucoup
je vais aissayer avec ce langage.

Répondre à pampelline

16

vinc49400, le 8 mar 2009 à 11:11:17

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

Répondre à vinc49400

18

Willpower, le 25 nov 2009 à 10:05:00

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>

Répondre à Willpower

19

 Willpower, le 25 nov 2009 à 10:09:53

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>

Répondre à Willpower
Collection CommentÇaMarche.net