Problème de calcul en javascript !!
Résolu
pauline
-
pauline -
pauline -
Bonjour,
l'idée de script que j'ai crée c'est :
tu as un produit à ajouter a ton panier quand clique y a une fonction qui prend le montant de ce produit par Exemple 500 £ . et le mettre dans un champs, et quand tu clique encore sur ce produit . la valeur 500 £ qu'on a ajouté sera écrasé ça veux dire il sera 1000 £
mais la fonction que j'ai met , il calcul pas la somme !! il affiche sur le champs 500500 !!
je suis nulle :s je sais
voici le code :
<!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(result){
var valeur1=document.forma.result.value;
}
document.forma.result.value=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" /></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()">Ajoutez au panier</a> </td>
</tr>
</table>
</body>
</html>
Merci d'avance
l'idée de script que j'ai crée c'est :
tu as un produit à ajouter a ton panier quand clique y a une fonction qui prend le montant de ce produit par Exemple 500 £ . et le mettre dans un champs, et quand tu clique encore sur ce produit . la valeur 500 £ qu'on a ajouté sera écrasé ça veux dire il sera 1000 £
mais la fonction que j'ai met , il calcul pas la somme !! il affiche sur le champs 500500 !!
je suis nulle :s je sais
voici le code :
<!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(result){
var valeur1=document.forma.result.value;
}
document.forma.result.value=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" /></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()">Ajoutez au panier</a> </td>
</tr>
</table>
</body>
</html>
Merci d'avance
A voir également:
- Problème de calcul en javascript !!
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Telecharger javascript - Télécharger - Langages
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
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...
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>