Problème de type de variables javascript
Minoux
-
eee -
eee -
Bonjour,
J'ai un problème avec la fonction javascript de mon cru que voici :
Le problème est au niveau de l'addition : au lieu d'additionner la valeur obtenue avec la valeur du champ javascript fait une concaténation.
Merci d'avance de votre aide
Minoux
J'ai un problème avec la fonction javascript de mon cru que voici :
<script language="JavaScript">
function calcul() {
var i=0;
while(i<2) {
document.commande.total_5.value = 130 * document.commande.quantite_5.value;
document.commande.total_ht.value += document.commande.total_5.value;
document.commande.total_6.value = 10 * document.commande.quantite_6.value;
document.commande.total_ht.value += document.commande.total_6.value;
i++;
}
document.commande.total_ttc.value = (Math.round((1.196 * document.commande.total_ht.value)*100))/100;
}
</script>
Le problème est au niveau de l'addition : au lieu d'additionner la valeur obtenue avec la valeur du champ javascript fait une concaténation.
Merci d'avance de votre aide
Minoux
A voir également:
- Problème de type de variables javascript
- Clear type - Guide
- Type de ram - Guide
- Comment changer le type de fichier - Guide
- Dans le document à télécharger, les références des pièces détachées sont affichées par pays, puis par type de pièces. réorganisez le document pour avoir : les pays dans l'ordre alphabétique : allemagne, espagne, france et italie ; et pour chaque pays, les pièces d'auto, de bateau et de moto dans cet ordre. quelle est la référence de la pièce en ligne 500 ? ✓ - Forum Windows
- Javascript arrondi ✓ - Forum Javascript
4 réponses
Bonsoir,
Les zones du formulaire sont considérées comme étant de type "chaîne", auquel cas, le signe "+" est un opérateur de concaténation :
chaîne + nombre => chaîne
nombre + chaîne => chaîne
Dans ton cas, il faut passer par la fonction "parseInt()".
Les zones du formulaire sont considérées comme étant de type "chaîne", auquel cas, le signe "+" est un opérateur de concaténation :
chaîne + nombre => chaîne
nombre + chaîne => chaîne
Dans ton cas, il faut passer par la fonction "parseInt()".
Alors j'ai testé avec parseInt() mais malheureusement j'ai toujours des résultats fantaisistes.
Voici le code mis à jour :
Encore merci
Minoux
Voici le code mis à jour :
<script language="JavaScript">
function calcul() {
var i=0;
while(i<2) {
document.commande.total_5.value = 130 * document.commande.quantite_5.value;
document.commande.total_ht.value = parseInt(document.commande.total_ht.value,10) + parseInt(document.commande.total_5.value,10);
document.commande.total_6.value = 10 * document.commande.quantite_6.value;
document.commande.total_ht.value = parseInt(document.commande.total_ht.value,10) + parseInt(document.commande.total_6.value,10);
i++;
}
document.commande.total_ttc.value = (Math.round((1.196 * document.commande.total_ht.value)*100))/100;
}
</script>
Encore merci
Minoux