Calculatrice JS

Teyy - 27 nov. 2019 à 12:05
 ufoguy - 6 janv. 2020 à 08:37
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

@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
30 nov. 2019 à 20:20
essai en faisant un eval

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

0
ç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.
0
Rejoignez-nous