Bonjour, voici mon code.
J'ai remarqué qu'il y avait une erreur si on cliquait sur * ou / plusieurs fois d'affilé : eval() ne calcule rien, la page est plantée...
Serait-il possible d'empêcher ce beug ?
Merci beaucoup
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 <!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"/> <title>Calculatrice</title> <script language="JavaScript"> var texte=''; function chiffre(a){ texte+=a; document.getElementsByTagName("label")[0].innerHTML = texte; } function cale(ch){ texte+=" "+ch+" "; document.getElementsByTagName("label")[0].innerHTML = texte; } function res(){ if(texte[1] == "*" || texte[1] == "/"){ //Gestion des cas particuliers si * ou / au début du calcul, réinitialisation pour débeuguer texte=''; } texte+=" = " + eval(texte); document.getElementsByTagName("label")[0].innerHTML = texte; texte=''; } </script> </head> <body bgcolor="#ffffff" text="#0080ff"> <h1>Calculs</h1> <h2>Choisir un chiffre</h2> <p>Cliquez sur le bouton <input type="button" value="0" onClick="chiffre('0')"/> <input type="button" value="1" onClick="chiffre('1')"/> <input type="button" value="2" onClick="chiffre('2')"/> <input type="button" value="3" onClick="chiffre('3')"/> <input type="button" value="4" onClick="chiffre('4')"/> <input type="button" value="5" onClick="chiffre('5')"/> <input type="button" value="6" onClick="chiffre('6')"/> <input type="button" value="7" onClick="chiffre('7')"/> <input type="button" value="8" onClick="chiffre('8')"/> <input type="button" value="9" onClick="chiffre('9')"/> </p> <h2>Choisir <u>un</u> opérateur</h2> <p>Cliquez sur le bouton <input type="button" value="+" onClick="cale('+')"/> <input type="button" value="-" onClick="cale('-')"/> <input type="button" value="*" onClick="cale('*')"/> <input type="button" value="/" onClick="cale('/')"/> </p> <h2>Validez <input type="button" value="OK" onClick="res()"/> </h2> <br/> <h2>Votre calcul est : <label></label></h2> </body> </html>
Partager