Liste deroulante ok sur FIREFOX pas sur IE

Résolu/Fermé
HEY - 31 déc. 2007 à 10:06
 HEY - 31 déc. 2007 à 16:22
Bonjour,

J'ai deux listes deroulantes, chaque liste permet de choisir un chiffre (0,1,2) , un bouton pour afficher le calcul des deux chiffres selectionné avec l'aide des listes deroulantes.

Ca marche sur firefox, sur safari, sur opera mais ne marche pas sur IE 6, j'ai pas testé sur IE 7

Je donne le script
////////////////////////////////////////
<script>
function test(){
var n1=document.a.b.value
var n2=document.a.c.value
n1=parseInt(n1)
n2=parseInt(n2)
alert((n1*2+n2*3))
}
</script>
<Body>
<form name="a">
<center>
<select name="b">
<option>0</option>
<option>1</option>
<option>2</option>
</select>
<br /><select name="c">
<option>0</option>
<option>1</option>
<option>2</option>
</select>
<br /><br />
<input type="button" onclick="test( )" style="width:130px" value="resultat"></center></form>
<br /><br /></form></Body>
///////////////////////////////////////////////////////////////

comment faire pour que ca fonctionne aussi sur IE

merci d'avance pour l'aide
A voir également:

4 réponses

Bonjour,

Je pense que tu n'as pas mis tout ton code car il manque des choses.

déja:
- <script> il faut mettre <script language="javascript" type="text/javascript">

- il manque tous les ; à la fin des instructions

- pour récuperer la valeur d'un <input name="champ1" id="champ1" ......>

il vaut mieux faire

var n1=document.getElementById('champ1').value;


- <input type="button" onclick="test( )"

=>
 <input type="button" name="...."  onclick="test( );"


un ; après test()

Essayes en modifiant tout ça.

Et si tu as firefox utilises la console d'erreurs JS qui est dans le menu "Outils" elle est super pour débugger

@lain
0
merci pour les conseils

mom probleme c'est de recuperer une valeur d'une liste deroulante ( avec un champ j'ai un script qui marche), mais la je trouve pas

mon nouveau script
/////////////////////////////////
<script language="javascript" type="text/javascript">
function test()
{
var n1=document.getElementById('liste1').value;
var n2=document.getElementById('liste2').value;
n1=parseInt(n1);
n2=parseInt(n2);
alert((n1*2+n2*3));
}
</script>
<Body>
<select name="liste1">
<option>0</option>
<option>1</option>
<option>2</option>
</select>
<br /><select name="liste2">
<option>0</option>
<option>1</option>
<option>2</option>
</select>
<br /><br />
<input type="button" value="resultat" onclick="test( );" ></center></form>
<br /><br /></form></Body>
/////////////////////////////////////////////

et la ca marche dans aucun navigateur

Merci d'avance pour l'aide
0
il manque encore pas mal de choses:
les balises d'ouverture <html> <form>

ensuite la balise c'est <body> et pas <Body>

La norme HTML c'est en minuscules.
Tu n'as pas mis les id= dans tes listes
et les value= dans les <options (ce qui donne des résultats bizzares avec certains navigateurs)

vas voir le site: www.siteduzero.com pour voir comment construite une page HTML et un formulaire

essayes comme ça:

<html>
<head>
<script language="javascript" type="text/javascript">
function test(){
var n1=document.getElementById('liste1').value;
var n2=document.getElementById('liste2').value;
n1=parseInt(n1);
n2=parseInt(n2);
alert("Le resultat est: "+n1*2+n2*3);
}
</script>
<head>
<body>
<form name="nom__form" method="post" action="......">
<select name="liste1" id="liste1">
<option value=0>0</option>
<option value=1>1</option>
<option value=2>2</option>
</select>
<br /><select name="liste2" id="liste2">
<option value=0>0</option>
<option value=1>1</option>
<option value=2>2</option>
</select>
<br /><br />
<input type="button" name="resultat" value="resultat" onclick="test( );" ></center></form>
<br /><br />
</form>
</body> 
</html>


0
merci enormement alain42, pour la rapidité et la pertinence des reponses

ca marche impec, j'ai juste modifié la partie alert, parceque ca "superposé" les chiffres alors que je voulais les additionner.
0