![Citation](https://forum.developpez.be/images/misc/quote_icon.png)
Envoyé par
Eliphorio
je ne sais pas d'où vient mon erreur...
Il faut utiliser la console F12 et apprendre à lire les messages d’erreur.
Oui, et ça arrive souvent quand on met des attributs onchange, onclick etc.
C’est une bonne pratique de ne pas mettre du tout de JS dans le code HTML. À la place on utilise ce qu’on appelle des gestionnaires d’évènements, avec addEventListener.
1 2 3
| document.getElementById("diviseur_1").addEventListener("change", function () {
benef("dividende_1", "diviseur_1", "resultat_1");
}); |
Au fait, il vaut mieux ne pas utiliser innerHTML. Dans ton cas tu as seulement besoin de textContent.
resultat.textContent = dividende/diviseur;
Et puisque tu débutes, prends tout de suite l’habitude d’utiliser le mode strict, ça t’épargnera bien des maux de têtes ![:)](https://www.developpez.net/forums/images/smilies/icon_smile.gif)
Autre chose : ne sois pas surpris si tu as parfois des erreurs de précision, par exemple avec 0.1 + 0.11. C’est un problème lié à la représentation des nombres à virgule flottante, ce n’est pas propre à JavaScript. Quand on manipule des prix, on préfère multiplier par 100 pour avoir toujours des centimes (les « unités basses »), de sorte que les calculs se font toujours avec des nombres entiers.
Et si tu as vraiment besoin de faire du calcul de précision, il vaut mieux utiliser une bibliothèque tierce, par exemple big.js.
Partager