Bonjour � tous, �a faisait loingtemps que je ne vous avez pas embet� avec une de mes questions tordues...

Je suis en train t'ecrire un programme qui permet la cr�ation d'input en cliquant sur un lien, puis � chaque fois qu'une cellule est remplie, un total doit s'afficher dans la case colonne, juste en dessous...

Mon programme fonctionne presque, � savoir que tout est bon sauf que apr�s avoir saisie une donn�e, si on la modifie par la suite, on perd le total (au vu du programme �a parait logique puisque � chaque fois j'appel seulement la fontcion corrrespondant a la celulle, donc ne NB, qui n'additionne que cette seule celulle), mais en meme temps plus je solutionne et plus mon programme est une usine � gaz, et il faudrait que je la simplifie, mais je n'y arrive pas, meme avec des boucle "for", donc je sollicite, s'il vous plait votre aide, pour que je trouve enfin la solution a chaque modification de cellule....

Voici le code en entier :
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
<html>
 
<html>
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Nouvelle page 1</title>
 <script type="text/javascript">
function totM(nb) {
 
if (nb==1){
mns1=document.simul.mns1.value; (mns1==NaN) ? mns1=0 : mns1=mns1; mns1 = (mns1*1);
mns=mns1;}
if (nb==2){
mns1=document.simul.mns1.value; (mns1==NaN) ? mns1=0 : mns1=mns1; mns1 = (mns1*1);
mns2=document.simul.mns2.value; (mns2==NaN) ? mns2=0 : mns2=mns2; mns2 = (mns2*1);
mns=mns1 + mns2;}
if (nb==3){
mns1=document.simul.mns1.value; (mns1==NaN) ? mns1=0 : mns1=mns1; mns1 = (mns1*1);
mns2=document.simul.mns2.value; (mns2==NaN) ? mns2=0 : mns2=mns2; mns2 = (mns2*1);
mns3=document.simul.mns3.value; (mns3==NaN) ? mns3=0 : mns3=mns3; mns3 = (mns3*1);
mns=mns1 + mns2 + mns3;}
if (nb==4){
mns1=document.simul.mns1.value; (mns1==NaN) ? mns1=0 : mns1=mns1; mns1 = (mns1*1);
mns2=document.simul.mns2.value; (mns2==NaN) ? mns2=0 : mns2=mns2; mns2 = (mns2*1);
mns3=document.simul.mns3.value; (mns3==NaN) ? mns3=0 : mns3=mns3; mns3 = (mns3*1);
mns4=document.simul.mns4.value; (mns4==NaN) ? mns4=0 : mns4=mns4; mns4 = (mns4*1);
mns=mns1 + mns2 + mns3 + mns4;}
if (nb==5){
mns1=document.simul.mns1.value; (mns1==NaN) ? mns1=0 : mns1=mns1; mns1 = (mns1*1);
mns2=document.simul.mns2.value; (mns2==NaN) ? mns2=0 : mns2=mns2; mns2 = (mns2*1);
mns3=document.simul.mns3.value; (mns3==NaN) ? mns3=0 : mns3=mns3; mns3 = (mns3*1);
mns4=document.simul.mns4.value; (mns4==NaN) ? mns4=0 : mns4=mns4; mns4 = (mns4*1);
mns5=document.simul.mns5.value; (mns5==NaN) ? mns5=0 : mns5=mns5; mns5 = (mns5*1);
mns=mns1 + mns2 + mns3 + mns4 + mns5;}
document.simul.M_AV.value= mns;
}
 
 
</script>
 
<script>
function create_credit(i) {
var i = i;
var i2 = i + 1;
document.getElementById('lecredit_'+i).innerHTML = '<input type="text" size="10" name="mns'+i+'" onchange=totM('+i+')>>';
document.getElementById('lecredit_'+i).innerHTML += (i <= 4) ? '<br><span id="lecredit_'+i2+'"><a href="javascript:create_credit('+i2+')">Ajouter un Crédit</a></span>' : '';
}
</script>
</head>
 
<body>
 
<form method="POST" action="" name="simul">
<span id="lecredit_1"><a href="javascript:create_credit(1)">Ajouter un credit</a></span><br /><br />
 
Totaux<br>
<input type="text" size="10" name="M_AV" value="0" ><br />
</form>
 
</body>
 
</html>
Avec tous mes remerciements ...