Bonjour,

J'essaie de créer la classe d'objet CL_page_calcul pour automatiser la production de feuilles de calculs.
L'exemple ci-dessous est simplifié (dans la version future, "entree","formule" et "resultat" seront des tableaux).
Bref. Le problème que je rencontre, c'est pour appeler la bonne fonction. Si j'écris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
onclick="this.calculer()"
à la place de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
onclick="calcul1.calculer()"
cela ne marche pas.
Que faut-il écrire pour appeler la fonction calcul1.calculer() quand on affiche la page calcul1.afficher()
et pour appeler la fonction calcul2.calculer() quand on affiche la page calcul2.afficher()?
Je n'ai pas trouvé de solution élégante.

Merci par avance pour vos réponses.


Code : 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
<!DOCTYPE html><html>
 
<head>
<script type="text/javascript">
 
CL_page_calcul = function(entree,formule,resultat) {
	this.afficher=function() {
		var ch=entree+' = <input type="text" name="'+entree+'"><br>';
		ch+='<input type="button" value="CALCULER" onclick="calcul1.calculer()"><br>';
		ch+=resultat+' = <input type="text" name="'+resultat+'">';
		document.getElementById("page").innerHTML=ch;
	}
	this.calculer=function() {
		var ch=entree+'=document.f.'+entree+'.value*1';
		eval(ch);
		ch='document.f.'+resultat+'.value='+eval(formule);
		eval(ch);
	}
}
 
entree="a";
resultat="b";
formule="b=a+a";
calcul1=new CL_page_calcul(entree,formule,resultat);
 
entree="c";
resultat="d";
formule="d=c*c";
calcul2=new CL_page_calcul(entree,formule,resultat);
 
</script>
</head> 
 
<body>
<form name="f"><div id="page">
<a href="javascript:calcul1.afficher()">Addition</a><br>
<a href="javascript:calcul2.afficher()">Multiplication</a>
</div></form>
</body>
 
</html>