Problème de lien vers une URL

Résolu/Fermé
yelem Messages postés 74 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 3 juin 2014 - 2 déc. 2010 à 14:43
yelem Messages postés 74 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 3 juin 2014 - 9 janv. 2011 à 21:03
Bonjour à tous.

Voilà, je voudrais réaliser deux menus déroulants pour une page web, les choix du second dépendant du choix du premier. Une fois les sélections réalisées, il y aurai une redirection vers des URL (différentes selon les choix bien sûr). Mon problème est que je n'arrive pas à trouver où mettre les différentes URL dans mon code. Aidez moi s'il vous plais.

Voici mon code :

<html>
<title>liste déroulante dynamique</title>
<head>
<script language="Javascript" type="text/javascript" >
function choix(formulaire)
{
var j;
var i = formulaire.boite1.selectedIndex;
if (i == 0)
for(j = 1; j <4; j++)
formulaire.boite2.options[j].text="";


else{
switch (i){
case 1 : var text = new Array( "Vallée du Gier","Vallée de l'Ondaine","Plaine du Forez","Pilat");
break;
case 2 : var text = new Array("Gare de Châteaucreux","La Terrasse","Bellevue","");
break;

case 3 : var text = new Array("Gare de Châteaucreux","La Terrasse","Bellevue","");
break;
}

for(j = 0; j<4; j++)
formulaire.boite2.options[j+1].text=text[j];
}
formulaire.boite2.selectedIndex=0;
}
</script>
</head>
<body>
<form name="formulaire">
<select name="boite1" onChange="choix(this.form)">
<option selected>...........Choisissez un moyen de locomotion...........</option>
<option>Voiture</option>
<option>Transports en commun</option>
<option>Piéton</option>



</select>

<select name="boite2">
<option selected>...........Choisissez un point de départ...........</option>
<option></option>
<option></option>
<option></option>
<option></option>
</form>
</select>
</body>
</html>

Merci pour votre aide

2 réponses

arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
2 déc. 2010 à 14:59
Tu fais deux <form></form>:

<form name="formulaire" method="post" action="page1.php">
##formulaire 1##
</form>

<form name="formulaire" method="post" action="page2.php">
##formulaire 2##
</form>

Met tes select à la place de ##formulaire 1## et ##formulaire 1##
0
yelem Messages postés 74 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 3 juin 2014 23
2 déc. 2010 à 15:13
Heu... Je les mets où ? Désolé je suis novice en la matière.
En fait il y a 7 possibilité de choix donc autant d'URL à définir...
0
yelem Messages postés 74 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 3 juin 2014 23
9 janv. 2011 à 21:03
J'ai finalement trouvé comment faire avec une méthode plus satisfaisante. Je la met si ça peut intéresser quelqu'un et je met "Résolu".

Bonne soirée.

<body>
<form name="dynamiccombo" align="center">
<select name="stage2" size="1" onChange="displaysub()">
<option value="#"></option>
<option value="#"></option>
<option value="#"></option>
<option value="#"></option>
</select>

</form>
<SCRIPT language="JavaScript" title="G1SCRIPT">

<!--
var category=new Array()
category[0]=new Option("Choix du moyen de locomotion", "") //Ligne pour le choix du moyen de locomotion
category[1]=new Option("Voiture", "combo1")
category[2]=new Option("Transport en commun", "combo2")
category[3]=new Option("Piéton", "combo3")

var combo1=new Array()
combo1[0]=new Option("Choix du lieu de départ","") //Ligne pour le choix du lieu de départ
combo1[1]=new Option("Plaine du Forez","Plaine du Forez.html")
combo1[2]=new Option("Vallée du Gier","Lyon.html")
combo1[3]=new Option("Vallée de l'Ondaine","Firminy.html")
combo1[4]=new Option("Pilat","Pilat.html")
combo1[5]=new Option("Retour","") //Ligne pour un retour au menu précédent

var combo2=new Array()
combo2[0]=new Option("La Terrasse","La Terrasse.html") //Ligne pour le choix du lieu de départ
combo2[1]=new Option("Bellevue","Bellevue.html")
combo2[2]=new Option("Châteaucreux","Châteaucreux.html")
combo2[3]=new Option("Retour","") //Ligne pour un retour au menu précédent

var combo3=new Array()
combo3[0]=new Option("La Terrasse","La Terrasse.html") //Ligne pour le choix du lieu de départ
combo3[1]=new Option("Bellevue","Bellevue.html")
combo3[2]=new Option("Châteaucreux","Châteaucreux.html")
combo3[3]=new Option("Retour","") //Ligne pour un retour au menu précédent

var curlevel=1
var cacheobj=document.dynamiccombo.stage2
function populate(x){
for (m=cacheobj.options.length-1;m>0;m--)
cacheobj.options[m]=null
selectedarray=eval(x)
for (i=0;i<selectedarray.length;i++)
cacheobj.options[i]=new Option(selectedarray[i].text,selectedarray[i].value)
cacheobj.options[0].selected=true
}
function displaysub(){
if (curlevel==1){
populate(cacheobj.options[cacheobj.selectedIndex].value)
curlevel=2
}
else
gothere()
}
function gothere(){
if (curlevel==2){
if (cacheobj.selectedIndex==cacheobj.options.length-1){
curlevel=1
populate(category)
}
else
location=cacheobj.options[cacheobj.selectedIndex].value
}
}


</SCRIPT>
0