Problème de calcul en javascript !!
Résolu/Fermé
A voir également:
- Problème de calcul en javascript !!
- Telecharger javascript - Télécharger - Langages
- Formule de calcul excel - Guide
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
- Javascript round ✓ - Forum Javascript
- Calcul période d'essai cdi simulateur excel ✓ - Forum Excel
2 réponses
Bon je suis assez nulle en js mais je pense pas me tromper en disant qu'en javascript, le + ne signifie pas plus mais concatène deux chaine de caractère. Ça ne peut pas marcher comme ça. Il faut que tu mettes tes nombre dans Number().
Ex: document.forma.result.value =Number(valeur1)+Number(500)
Un petit "addition javascript" dans Google te donnait la réponse au 1er lien...
Ex: document.forma.result.value =Number(valeur1)+Number(500)
Un petit "addition javascript" dans Google te donnait la réponse au 1er lien...
vincebzh
Messages postés
137
Date d'inscription
lundi 22 mars 2010
Statut
Contributeur
Dernière intervention
7 mai 2013
29
20 oct. 2011 à 21:19
20 oct. 2011 à 21:19
Salut.
C'est déjà étonnant que qu'il se passe quelque chose chez toi quand tu clique sur le lien. Quand je l'ai testé tel quel, j'avais plein d'erreur JS.
Le problème viens du fait que la valeur du champs input est vide, du coup, il est interprété comme une chaine de caractère et non pas comme un chiffre, ce qui fait que l'addition est remplacée par une concaténation des deux valeurs.
Il faut pré remplir le champs avec la valeur 0.
Pour être sûr que le champs soit interprété comme un chiffre, il faut utiliser la fonction parseInt() pour passer d'une chaine de caractère à une valeur numérique.
Je te remet le script corrigé :
C'est déjà étonnant que qu'il se passe quelque chose chez toi quand tu clique sur le lien. Quand je l'ai testé tel quel, j'avais plein d'erreur JS.
Le problème viens du fait que la valeur du champs input est vide, du coup, il est interprété comme une chaine de caractère et non pas comme un chiffre, ce qui fait que l'addition est remplacée par une concaténation des deux valeurs.
Il faut pré remplir le champs avec la valeur 0.
Pour être sûr que le champs soit interprété comme un chiffre, il faut utiliser la fonction parseInt() pour passer d'une chaine de caractère à une valeur numérique.
Je te remet le script corrigé :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/javascript">
function ordi(){
var valeur1=document.forma.result.value;
document.forma.result.value= parseInt(valeur1) + 500;
}
</script>
<style type="text/css">
<!--
#stonne {
background:#fff;
color: #FF0000;
padding:4px;
font-size:16px;
border:none;
}
.style1 {font-weight: bold}
-->
</style>
</head>
<body>
<table>
<tr>
<td>
<strong>Votre Panier : </strong>
</td>
<td>
<form name="forma">
<input type="text" name="result" disabled="disabled" size="8" id="stonne" value="0"/>
</form>
</td>
</tr>
</table>
<br />
<table width="220">
<tr>
<td width="212" height="74" align="center">Ordinateur <br /> 500 £ </td>
</tr>
<tr>
<td align="center"><a href="#" onclick="ordi(); return false;">Ajoutez au panier</a></td>
</tr>
</table>
</body>
</html>