2 listes deroulantes ( condition, reponse)

Résolu/Fermé
heyjo - 13 nov. 2007 à 11:28
 heyjo - 14 nov. 2007 à 16:45
Bonjour,

Premier programme
j'ai une liste deroulante ( A,B,C)
si je choisis A il s'affiche ah!; B il s'affiche blabla; et C il s'affiche ca marche.
Jusque là tout va bien

/////////////////

<script>
function test()
{
var indice_selectionne=document.liste.choix.selectedIndex;
var change=document.liste.choix.options[indice_selectionne].value; switch (change)
{
case "a":document.liste.tester.value="ah!";break;
case "b":document.liste.tester.value="blabla";break;
case "c":document.liste.tester.value="ca marche";break;
}
}
</script>
<form name="liste">
<select name="choix" onchange="test()">
<option value=></option>
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
</select>
<input type="text" name="tester" size="25" value="">
</form>


///////////////////

Dans un deuxieme tps je souhaite rajouter une deuxieme liste deroulante (1,2,3)
Si je choisi A (dans la premiere liste) et 1 ou 2 (dans la deuxieme liste) il s'affiche ah!
Si je choisi B (dans la premiere liste) et 1 ou 3 ( dans la deuxieme liste) il s'affiche blabla.
SINON dans tout les autres cas il s'affiche ca marche

ET là j'arrive pas j'ai essayé plein trucs marche pas(JE SUIS DEBUTANT)
/////////////////////////
<script>
function test()
{
var indice_selectionne=document.liste.choix.choix2.selectedIndex;
var change=document.liste.choix.choix2.options[indice_selectionne].value; switch (change)
{
????????????????????????????????????????
}
}
</script>
<form name="liste">
<select name="choix" onchange="test()">
<option value=></option>
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
</select>
<select name="choix2" onchange="test()">
<option value=></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="text" name="tester" size="25" value="">
</form>
///////////////////////////

merci pour votre aide
A voir également:

6 réponses

Salut,

déja précise le languafge dans ta balise script

<script language="javascript" type="text/javascript">
function test()
{
var indice_selectionne=document.liste.choix.selectedIndex;
var change=document.liste.choix.options[indice_selectionne].value; switch (change)
{
case "a":
       var indice_selectionne2=document.liste.choix.choix2.selectedIndex;
       var change2=document.liste.choix.choix2.options[indice_selectionne2].value;
       switch (change2)
       case 1:document.liste.tester.value="ah!";
        break;
       case2:...............
       etc...
 break;

// et idem pour les autres case b  et c

}
}
</script>


0
merci bcp pour la réponse

j'ai tapé ca
si je choisis A (premiere liste ) et 1 (deuxieme liste ) il s'affiche ah!
si je choisis A (premiere liste ) et 2 (deuxieme liste ) il s'affiche ah ah!
si je choisis B (premiere liste ) et 1 (deuxieme liste ) il s'affiche bo!
si je choisis B (premiere liste ) et 2 (deuxieme liste ) il s'affiche bo bo!




<script language="javascript" type="text/javascript">
function test()
{
var indice_selectionne=document.liste.choix.selectedIndex;
var change=document.liste.choix.options[indice_selectionne].value; switch (change)
{
case "a":
var indice_selectionne2=document.liste.choix.choix2.selectedIndex;
var change2=document.liste.choix.choix2.options[indice_selectionne2].value;
switch (change2)
case 1:document.liste.tester.value="ah!";break;
case 2:document.liste.tester.value="ah ah!";break;
case "b":
var indice_selectionne2=document.liste.choix.choix2.selectedIndex;
var change2=document.liste.choix.choix2.options[indice_selectionne2].value;
switch (change2)
case 1:document.liste.tester.value="bo!";break;
case 2:document.liste.tester.value="bo bo!";break;
}
}
</script>
<form name="liste">
<select name="choix" onchange="test()">
<option value=></option>
<option value="a">A</option>
<option value="b">B</option>
</select>
<select name="choix2" onchange="test()">
<option value=></option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="text" name="tester" size="25" value="">
</form>

//
ca marche pas, pourtant j'ai essayé bcp de choses
merci d'avance pour votre aide
0
Bonsoir,

Tu as oublié les { } des switch(change2):


function test(){
var indice_selectionne=document.liste.choix.selectedIndex;
var change=document.liste.choix.options[indice_selectionne].value;
switch (change) {
case "a":
var indice_selectionne2=document.liste.choix.choix2.selectedIndex;
var change2=document.liste.choix.choix2.options[indice_selectionne2].value;
switch (change2){
case 1:document.liste.tester.value="ah!";break;
case 2:document.liste.tester.value="ah ah!";break;
}
case "b":
var indice_selectionne2=document.liste.choix.choix2.selectedIndex;
var change2=document.liste.choix.choix2.options[indice_selectionne2].value;
switch (change2){
case 1:document.liste.tester.value="bo!";break;
case 2:document.liste.tester.value="bo bo!";break;
}
}
}
</script>
</code>

avec un code indenté c'est plus parlant

@lain
0
bonsoir,

merci bcp pour les corrections
mais ca marche toujours pas,il doit avoir d'autres erreurs , mais je les vois pas( pas assez d'exp, je debute)
je donne le programme

<Head>
<script language="javascript" type="text/javascript">
function test(){
var indice_selectionne=document.liste.choix.selectedIndex;
var change=document.liste.choix.options[indice_selectionne].value;
switch (change) {
case "a":
var indice_selectionne2=document.liste.choix.choix2.selectedIndex;
var change2=document.liste.choix.choix2.options[indice_selectionne2].value;
switch (change2){
case 1:document.liste.tester.value="ah!";break;
case 2:document.liste.tester.value="ah ah!";break;
}
case "b":
var indice_selectionne2=document.liste.choix.choix2.selectedIndex;
var change2=document.liste.choix.choix2.options[indice_selectionne2].value;
switch (change2){
case 1:document.liste.tester.value="bo!";break;
case 2:document.liste.tester.value="bo bo!";break;
}
}
}
</script>
</Head>
<Body>
<form name="liste">
<select name="choix" onchange="test()">
<option value=></option>
<option value="a">A</option>
<option value="b">B</option>
</select>
<select name="choix2" onchange="test()">
<option value=></option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="text" name="tester" size="25" value="">
</form>
</Body>

merci d'avance pour l'aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut,

Cette fois j'ai testé, essayes ça ( ça fonctionne sous FireFox et Internet Explorer à tester sous Safari !)

<html>
<head>
<script language="javascript" type="text/javascript">
function test_listes(){
	var indice_selectionne1=document.form_listes.liste1.selectedIndex;
	var choixL1=document.form_listes.liste1.options[indice_selectionne1].value;
	//alert("liste1: "+choixL1);
	switch (choixL1) {
		case "a":
			var indice_selectionne2=document.form_listes.liste2.selectedIndex;
			var choixL2=document.form_listes.liste2.options[indice_selectionne2].value;
			//alert("a et Liste2 : "+choixL2);
			switch (choixL2){
				case "1":
					document.form_listes.tester.value="ah!";
				break;
				case "2":
					document.form_listes.tester.value="ah ah!";
				break;
				default:
					document.form_listes.tester.value="";
				break;
			}
		break;
		case "b":
			var indice_selectionne2=document.form_listes.liste2.selectedIndex;
			var choixL2=document.form_listes.liste2.options[indice_selectionne2].value;
				//alert("b et liste2: "+choixL2);
			switch (choixL2){
				case "1":
					document.form_listes.tester.value="bo!";
					
				break;
				case "2":
					document.form_listes.tester.value="bo bo!";
				break;
				default:
					document.form_listes.tester.value="";
				break;
			}
		break;
		default:
			document.form_listes.tester.value="";
		break;
	}
}
</script>
</head>
<body><br><br>
<form name="form_listes" >
	<select name="liste1" onChange="javascript:test_listes();">
		 <option value="choix1">Choix 1</option>
		<option value="a">A</option>
		<option value="b">B</option>
	</select><br>
	<select name="liste2" onChange="javascript:test_listes();">
		<option value="choix2">Choix 2</option>
		<option value="1">1</option>
		<option value="2">2</option>
	</select><br><br>
	<input type="text" name="tester" size="25" value="">
</form>
</body> 

</html>

J'ai changé les noms des variables , de la form, des listes pour qu'ils soient plus parlants.
Le déclenchement se fait sur le changement de chacune des deux listes,si dans une des listes le choix reste sur Choix1 ou Choix2, valeur par défaut, on tombe sur la partie default du switch, la valeur affichée est dans ce cas vide.
J'ai aussi modifié le nom de la fonction, il faut se méfier des noms qui peuvent ressembler à des termes réservés.
0
Bonsoir Alain42

Ca marche impec.

Merci énormément pour le script et les commentaires.
0