Souci calcul javascript (débutant)

Meth -  
 Meth -
Bonjour,

Pour m'amuser, j'essaie de coder un calculateur de prix de cigs en javascript... mais je avoue que je bloque, plusieurs questions, mais tout d'abord mon code :

<html>

<head>
<title>Calculateur du prix dépensé en cigarettes dans le temps</title>

<script type="text/JavaScript">

function resultat(){
var a = document.forms[0].nbreans.value;
var b = document.forms[0].nbrecigs.value;
var c = document.forms[0].jours.value;
document.forms[0].result.value = a*b*c;
var d = document.getElementById('result').value;
var e = document.forms[0].nbrecigarettespaquet.value;
var f = document.forms[0].prixpaquet.value;
document.forms[0].result2.value = d/e*f;}

</script>


</head>

<body>

<form>

<p>Je fume depuis <input type="text" name="nbreans" value="" size="4"> années, <br/>
à raison de <input type="text" name="nbrecigs" value="" size="4"> cigarettes par jour, <br/>
comme je le sais, il y a <input type="text" name="jours" value="365" size="4"> jours par an. <br/><br/>

A raison de <input type="text" name="nbrecigarettespaquet" value="20" size="4"> cigarettes par paquet<br/>
Pour un prix de <input type="text" name="prixpaquet" value="5" size="4"> euros par paquet<br/><br/><br/>


<input type="button" name="Envoi" value="Valider" onclick="resultat();"><input type="reset" value="Effacer"> <br/><br/>

J'ai donc fumé <input type="text" name="result" value="" size="5"> cigarettes depuis ma première cigarette.<br/><br/>
J'ai donc dépensé <input type="text" name="result2" value="" size="5"> euros en cigarettes !!!!<br/><br/>

</form>

</body>

</html>

Je bloque sur plusieurs points :

1 . J'aimerais récupérer ma valeur "result" (en fait la valeur de "j'ai donc fumé XXX cigarettes depuis..." et l'utiliser pour continuer mon script, ce que je pensais avoir fait avec "var d = document.getElementById('result').value;" qui me l'aurait récupérée "en d"

2 . ... pour pouvoir l'utiliser par la suite en la divisant par "e" à savoir "nbrecigarettespaquet"

3 . ... puis en multipliant le tout par "f", à savoir "prixpaquet" !


Mais ça ne fonctionne pas.... pourtant mon code me semble bon, même si c'est la première fois que je m'amuse à utiliser javascript !

Pouvez vous m'aider ?

D'avance merci !

Meth.

A voir également:

3 réponses

Reivax962 Messages postés 3742 Statut Membre 1 011
 
Bonjour,

Le soucis, c'est que tu utilises getElementById, alors que pour le champ result, tu n'as pas défini d'Id.

Donc, plusieurs solutions :
- Soit tu rajoutes id="result" à côté de son name="result"
- Soit tu utilises getElementsByName, mais attention il renvoie un tableau donc il faut le faire en deux étapes :
var tabResult = document.getElementsByName('result');
var d = tabResult[0].value;
- Soit tu utilises comme tu le faisais jusque là document.forms[0].result.value
- Soit tu fais simplement d = a*b*c;

Xavier
0
Meth
 
Merci énormement pour cette réponse Xavier, je m'y mets tout de suite !
0
Meth
 
Je te remercie, 30 secondes après c'est réglé !

... bluffé ^^
0