Utiliser 2x le même *.js sur un seul click

Fermé
gargouille007 Messages postés 1 Date d'inscription samedi 10 mars 2012 Statut Membre Dernière intervention 10 mars 2012 - 10 mars 2012 à 09:17
Bonjour,

Dans ma page j'ai un bouton qui active un calcul...

tous ce passe bien.

j'aurai besoin de faire ce calcul 2 fois

j'ai ajouté un autre bouton hidden mais ça ne fonctionne pas ?

voici mon java script -->

var NbParties;

/*-----------------------------------------------------------
On appelle la fonction CalculUn pour chaque adversaire
pour lesquels on a saisi une cote
-----------------------------------------------------------*/
function CalculTous( x2, a2, b2, c2, d2, e2, f2, g2, h2, i2, j2 )
{
var a1,b1,c1,d1,e1,f1,g1,h1,i1,j1;
var x,a,b,c,d,e,f,g,h,i,j,res;

x = parseInt( CalculTous.arguments[0]);
a = parseInt( CalculTous.arguments[1]);
b = parseInt( CalculTous.arguments[2]);
c = parseInt( CalculTous.arguments[3]);
d = parseInt( CalculTous.arguments[4]);
e = parseInt( CalculTous.arguments[5]);
f = parseInt( CalculTous.arguments[6]);
g = parseInt( CalculTous.arguments[7]);
h = parseInt( CalculTous.arguments[8]);
i = parseInt( CalculTous.arguments[9]);
j = parseInt( CalculTous.arguments[10]);

a1 = 0; if (a > 0) a1 = CalculUn(x, a);
b1 = 0; if (b > 0) b1 = CalculUn(x, b);
c1 = 0; if (c > 0) c1 = CalculUn(x, c);
d1 = 0; if (d > 0) d1 = CalculUn(x, d);
e1 = 0; if (e > 0) e1 = CalculUn(x, e);
f1 = 0; if (f > 0) f1 = CalculUn(x, f);
g1 = 0; if (g > 0) g1 = CalculUn(x, g);
h1 = 0; if (h > 0) h1 = CalculUn(x, h);
i1 = 0; if (i > 0) i1 = CalculUn(x, i);
j1 = 0; if (j > 0) j1 = CalculUn(x, j);

res = a1 + b1 + c1 + d1 + e1 + f1 + g1 + h1 + i1 + j1;
return ( Round(res,3) );
}

/*-----------------------------------------------------------
Chaque probabilité est évaluée selon la table de la F.Q.E.
-----------------------------------------------------------*/
function CalculUn(y2, z2)
{
var x, a, r, y, z;

x = parseInt( CalculUn.arguments[0] );
a = parseInt( CalculUn.arguments[1] );

y = parseInt( CalculUn.arguments[0] );
z = parseInt( CalculUn.arguments[1] );

if (y > z)
{
a = z;
x = y;
}
else
{
a = y;
x = z;
}

if (((x - a) >= 0) && ((x - a) <= 3)) r = 0.5;
else if (((x - a) >= 4) && ((x - a) <= 10)) r = 0.51;
else if (((x - a) >= 11) && ((x - a) <= 17)) r = 0.52;
else if (((x - a) >= 18) && ((x - a) <= 25)) r = 0.53;
else if (((x - a) >= 26) && ((x - a) <= 32)) r = 0.54;
else if (((x - a) >= 33) && ((x - a) <= 39)) r = 0.55;
else if (((x - a) >= 40) && ((x - a) <= 46)) r = 0.56;
else if (((x - a) >= 47) && ((x - a) <= 53)) r = 0.57;
else if (((x - a) >= 54) && ((x - a) <= 61)) r = 0.58;
else if (((x - a) >= 62) && ((x - a) <= 68)) r = 0.59;
else if (((x - a) >= 69) && ((x - a) <= 76)) r = 0.6;
else if (((x - a) >= 77) && ((x - a) <= 83)) r = 0.61;
else if (((x - a) >= 84) && ((x - a) <= 91)) r = 0.62;
else if (((x - a) >= 92) && ((x - a) <= 98)) r = 0.63;
else if (((x - a) >= 99) && ((x - a) <= 106)) r = 0.64;
else if (((x - a) >= 107) && ((x - a) <= 113)) r = 0.65;
else if (((x - a) >= 114) && ((x - a) <= 121)) r = 0.66;
else if (((x - a) >= 122) && ((x - a) <= 129)) r = 0.67;
else if (((x - a) >= 130) && ((x - a) <= 137)) r = 0.68;
else if (((x - a) >= 138) && ((x - a) <= 145)) r = 0.69;
else if (((x - a) >= 146) && ((x - a) <= 153)) r = 0.7;
else if (((x - a) >= 154) && ((x - a) <= 162)) r = 0.71;
else if (((x - a) >= 163) && ((x - a) <= 170)) r = 0.72;
else if (((x - a) >= 171) && ((x - a) <= 179)) r = 0.73;
else if (((x - a) >= 180) && ((x - a) <= 188)) r = 0.74;
else if (((x - a) >= 189) && ((x - a) <= 197)) r = 0.75;
else if (((x - a) >= 198) && ((x - a) <= 206)) r = 0.76;
else if (((x - a) >= 207) && ((x - a) <= 215)) r = 0.77;
else if (((x - a) >= 216) && ((x - a) <= 225)) r = 0.78;
else if (((x - a) >= 226) && ((x - a) <= 235)) r = 0.79;
else if (((x - a) >= 236) && ((x - a) <= 245)) r = 0.8;
else if (((x - a) >= 246) && ((x - a) <= 256)) r = 0.81;
else if (((x - a) >= 257) && ((x - a) <= 267)) r = 0.82;
else if (((x - a) >= 268) && ((x - a) <= 278)) r = 0.83;
else if (((x - a) >= 279) && ((x - a) <= 290)) r = 0.84;
else if (((x - a) >= 291) && ((x - a) <= 302)) r = 0.85;
else if (((x - a) >= 303) && ((x - a) <= 315)) r = 0.86;
else if (((x - a) >= 316) && ((x - a) <= 328)) r = 0.87;
else if (((x - a) >= 329) && ((x - a) <= 344)) r = 0.88;
else if (((x - a) >= 345) && ((x - a) <= 357)) r = 0.89;
else if (((x - a) >= 358) && ((x - a) <= 374)) r = 0.9;
else if (((x - a) >= 375) && ((x - a) <= 391)) r = 0.91;
else if (((x - a) >= 392) && ((x - a) <= 411)) r = 0.92;
else if (((x - a) >= 312) && ((x - a) <= 432)) r = 0.93;
else if (((x - a) >= 433) && ((x - a) <= 456)) r = 0.94;
else if (((x - a) >= 457) && ((x - a) <= 484)) r = 0.95;
else if (((x - a) >= 485) && ((x - a) <= 517)) r = 0.96;
else if (((x - a) >= 518) && ((x - a) <= 559)) r = 0.97;
else if (((x - a) >= 560) && ((x - a) <= 619)) r = 0.98;
else if (((x - a) >= 620) && ((x - a) <= 734)) r = 0.99;
else if ((x - a) >= 735) r = 1;

if (z > y)
r = 1 - r;
if (z = 0)
r = 0;
return r;
}

/*-----------------------------------------------------------
Chaque probabilité est évaluée selon la table de la F.Q.E.
-----------------------------------------------------------*/
function CalculMoy( a2, b2, c2, d2, e2, f2, g2, h2, i2, j2 )
{
var a,b,c,d,e,f,g,h,i,j,avrg;

avrg = 0;
nb = 0;

a = parseInt( CalculMoy.arguments[0]);
b = parseInt( CalculMoy.arguments[1]);
c = parseInt( CalculMoy.arguments[2]);
d = parseInt( CalculMoy.arguments[3]);
e = parseInt( CalculMoy.arguments[4]);
f = parseInt( CalculMoy.arguments[5]);
g = parseInt( CalculMoy.arguments[6]);
h = parseInt( CalculMoy.arguments[7]);
i = parseInt( CalculMoy.arguments[8]);
j = parseInt( CalculMoy.arguments[9]);

if (a > 0) nb++;
if (b > 0) nb++;
if (c > 0) nb++;
if (d > 0) nb++;
if (e > 0) nb++;
if (f > 0) nb++;
if (g > 0) nb++;
if (h > 0) nb++;
if (i > 0) nb++;
if (j > 0) nb++;

NbParties = nb;

Form1.NbP.value= NbParties;

avrg = ( a + b + c + d + e + f + g + h + i + j) / nb;
return ( RoundSup(avrg,0) );

}
/*-----------------------------------------------------------
Calculer la performance
-----------------------------------------------------------*/
function Perform (m2,p2)
{
var moyenne, points, res;

moyenne = parseInt( Perform.arguments[0]);
points = Perform.arguments[1];

res = (moyenne + (400 * ((points - (NbParties - points))/ NbParties)));

res = RoundSup(res,1);

return( res );
}

/*-----------------------------------------------------------
Calculer la variation de cote
-----------------------------------------------------------*/
function VarCote(p1, p2)
{
var Pts, Prev, res;

Pts = VarCote.arguments[0];
Prev= VarCote.arguments[1];

if ((Pts - Prev) < 0)
res = RoundInf(32*(Pts-Prev));
else
res = RoundSup(32*(Pts-Prev));

return res;
}
/*-----------------------------------------------------------
Calculer les points Bonis
-----------------------------------------------------------*/
function Bonis(p1)
{
var VarC, MinBonis, res;

VarC= Bonis.arguments[0];

if (NbParties < 4) MinBonis = 0;
else if (NbParties == 4) MinBonis = 24;
else if (NbParties == 5) MinBonis = 26;
else if (NbParties == 6) MinBonis = 28;
else if (NbParties == 7) MinBonis = 30;
else if (NbParties == 8) MinBonis = 32;
else if (NbParties == 9) MinBonis = 34;
else if (NbParties == 10) MinBonis = 36;

if ((VarC > MinBonis) && (NbParties > 3))
res = RoundSup(VarC - MinBonis);
else
res = 0;

return res;
}
/*-----------------------------------------------------------
Calculer la nouvelle cote
-----------------------------------------------------------*/
function NouvC(p1,p2,p3)
{
var VarC, Bonis, Orig, res;

Orig = parseInt( NouvC.arguments[0]);
VarC = parseInt( NouvC.arguments[1]);
Bonis = parseInt( NouvC.arguments[2]);

res = Orig + VarC + Bonis;

return res;
}
/*-----------------------------------------------------------
Arrondir à n décimales
-----------------------------------------------------------*/
function Round (n,p)
{
n = Math.round(n * 100) / 100;
n = (n + 0.001) + '';
return n.substring(0, n.indexOf('.') + p);
}

/*-----------------------------------------------------------
Arrondir à l'entier supérieur
-----------------------------------------------------------*/
function RoundSup (n)
{
var t, res;

t = Math.round(n);
if (t < n)
res = t + 0;
else
if (t > n)
res = t;
else
res = t;

return res;
}
/*-----------------------------------------------------------
Arrondir à l'entier inférieur
-----------------------------------------------------------*/
function RoundInf (n)
{
var t, res;

t = Math.round(n);
if (t < n)
res = t + 0;
else
if (t > n)
res = t;
else
res = t;

return res;
}

et les deux boutons en html dans un form -->

<tr>
<td colspan="9"><div id="bout">
<input type="button" value="Calculer la cote" onClick="Form1.Prev.value=CalculTous(Form1.Orig.value,Form1.C1.value,Form1.C2.value,Form1.C3.value);
Form1.Moy.value=CalculMoy(Form1.C1.value,Form1.C2.value,Form1.C3.value);
Form1.Perf.value=Perform(Form1.Moy.value,Form1.Pts.value);
Form1.VarCo.value=VarCote(Form1.Pts.value,Form1.Prev.value);
Form1.Boni.value=Bonis(Form1.VarCo.value);
Form1.Nouv.value=NouvC(Form1.Orig.value,Form1.VarCo.value,Form1.Boni.value); "name="B12" tabindex="12"> -->

<input type="hidden" value="Calculer la cote" onClick="Form1.Prev.value=CalculTous(Form1.C1.value,Form1.Orig.value,Form1.C2.value,Form1.C3.value);
Form1.Moy.value=CalculMoy(Form1.Orig.value,Form1.C2.value,Form1.C3.value);
Form1.Perf.value=Perform(Form1.Moy.value,Form1.Pts.value);
Form1.VarCo.value=VarCote(Form1.Pts.value,Form1.Prev.value);
Form1.Boni.value=Bonis(Form1.VarCo.value);
Form1.Nouv1.value=NouvC(Form1.C1.value,Form1.VarCo.value,Form1.Boni.value); ">
<input type="reset" name="reset1" value="Réinitialiser">

</div></td>
</tr>
</table>

leresulta s'afiche au bon endroit avec le premier bouton mais ca ne fait rien pour le deuxieme, y a t'il moyen d'utiliser le même script d'un seul click sur un bouton ?


merci de votre aide...

gargouille007