Problème de lien vers une URL

Résolu
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

  1. 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##
    1. 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...
  2. 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>