11544 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'ai besoin de votre aiiiide : ( !

Je souhaite faire une calculatrice à l'aide du Javascript avec une liste déroulante, en affichant le résultat en dessous.

Malheureusement mon code ne fonctionne pas, j'espère que vous trouverez erreur, explications, ou autre solution... mais toujours en gardant la liste déroulante et l'affichage du résultat en bas.

Je vous remercie d'avance,
C.L

Voici mon code:

<html>
<head>
<title>calculatrice</title>
<script language="javascript">
function selon()
{
var saisie1 = parseFloat(document.forms["formulaire"].elements["saisie1"].value);
var saisie2 = parseFloat(document.forms["formulaire"].elements["saisie2"].value);
var choix = document.forms["formulaire"].elements["choix"];

if(choix[0].checked) {
var r=saisie1 + saisie2;
document.forms["formulaire"].element["resultat"].value
;}
if(choix[1].checked) {
var r=saisie1 - saisie2;
document.forms["formulaire"].element["resultat"].value;
}if(choix[2].checked) {
var r=saisie1 * saisie2;
document.forms["formulaire"].element["resultat"].value;
}
if(choix[3].checked) {
var r=saisie1 / saisie2;
document.forms["formulaire"].element["resultat"].value;
}
}

</script>
</head>

<body>

<h1> CALCULATRICE EN LIGNE </h1>
<form name="formulaire">
<p>variable1:<input name="saisie1" type="text" ></p>


<select name="choix">
<option value="0">addition
<option value="1">soustraction
<option value="2">multiplication
<option value="3"> Division
</select>

<p>variable2:<input name="saisie2" type="text" ></p>
<input type="button" value="calculer" onclick="selon()"></br></br>

Le resultat est : <input type="text" name="r">
</form>
</body>

</html>
Bonjour.

Juste pour pouvoir t'aider plus facilement, pense à utiliser la colorisation syntaxique dans tes messages, tu peux par exemple éditer le premier pour remettre en forme, et puis pense également à l'indentation.

Je ne suis pas un expert vanilla JS, mais tes if devraient plutôt être du genre "choix.value==0"...
Le test checked est surtout prévu pour les input type checkbox.

Et il faut ensuite bien écrire le résultats dans ton dernier input text, qui n'est pas "resultat", mais "r", et bien le sélectionner avec "elements" :
document.forms["formulaire"].elements["r"].value = r;


Et puis dernière chose, pense à commencer à factoriser ton code au maximum, Cf ICI
Modifié par SolidSnake (25 Feb 2015 - 11:06)
Merci beaucoup pour les conseils ... 'j'y vois plus clair = )
Modifié par C_L (25 Feb 2015 - 11:48)