Calculatrice JS

Signaler
-
 ufoguy -
Bonjour,
Je suis entrain de faire une calculatrice en JS pure.
Mais je n'arrive pas à faire le calcul. Si j'écris 1+1 dans le champ input et que je clique sur le bouton calculer, cela me donne : 1+1.
Mais je souhaite qu'il affiche 2 au lieu de 1+1.

Voici mon script :
        function calcul() {
            let resultat = document.getElementById("result").value;
            document.getElementById("result").value = resultat;
        }

        document.getElementById("calc").addEventListener("click", calcul);

1 réponse

Messages postés
1767
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2020
87
essai en faisant un eval

document.getElementById("result").value = eval(resultat);

ça existe encore eval en JavaScript :o plutôt craignos et à éviter eval...
Mieux vaut parser la valeur en numérique qu'utiliser des fonctions qui sont dangereuses et moins efficace:

https://webdevdesigner.com/q/why-is-using-the-javascript-eval-function-a-bad-idea-12546/

Sinon il y a parseInt ou équivalent avec des valeurs décimale ou simplement utiliser l'objet Number().

Enfin si c'était le problème mais vu le peu de code fournit et qu'il ne veut rien dire le probléme ne doit pas venir de là:

function calcul() {
//-- attribue à la variable resultat la valeur de l'élément #result
let resultat = document.getElementById("result").value;
//-- écris la valeur de la variable resultat comme valeur de l'élément #result
document.getElementById("result").value = resultat;
}

Ce code ne faisant rien du tout il n'est pas prêt d'afficher un quelconque résultat ou de faire le moindre calcul même faux. Il prend l'attribut value de #result et l'attribue à la value de #result...ce qui forcément n'a aucun sens ou plutôt aucun résultat.
Que la fonction calcul soit utilisée ou pas il se passera la même chose : rien du tout.