Alléger du code Javascript
Résolu
smoky184
Messages postés
134
Statut
Membre
-
smoky184 Messages postés 134 Statut Membre -
smoky184 Messages postés 134 Statut Membre -
Bonjour à toutes la communauté,
Je reviens vers vous car j'ai toujours trouvé réponse ici.
J'ai il y a un petit moment maintenant créé une "feuille de caisse" qui sert, en intranet, à compter la caisse en fin de journée. tout fonctionne bien mais j'ai soif de connaissance et j'aimerais alléger ce code :
pour info la page se présente comme ceci :
Merci pour votre aide et le partage de votre savoir.
CDT, Smoky
Je reviens vers vous car j'ai toujours trouvé réponse ici.
J'ai il y a un petit moment maintenant créé une "feuille de caisse" qui sert, en intranet, à compter la caisse en fin de journée. tout fonctionne bien mais j'ai soif de connaissance et j'aimerais alléger ce code :
function cal() {
// Recup nombres de pièces et billets //
var nb1=document.form1.nombre1.value;
var nb2=document.form1.nombre2.value;
var nb3=document.form1.nombre3.value;
var nb4=document.form1.nombre4.value;
var nb5=document.form1.nombre5.value;
var nb6=document.form1.nombre6.value;
var nb7=document.form1.nombre7.value;
var nb8=document.form1.nombre8.value;
var nb9=document.form1.nombre9.value;
var nb10=document.form1.nombre10.value;
var nb11=document.form1.nombre11.value;
var nb12=document.form1.nombre12.value;
var nb13=document.form1.nombre13.value;
var nb14=document.form1.nombre14.value;
var nb15=document.form1.nombre15.value;
// Calculs montant pièces et billetts//
var res1=Number(0.01)*Number(nb1);
var res2=Number(0.02)*Number(nb2);
var res3=Number(0.05)*Number(nb3);
var res4=Number(0.10)*Number(nb4);
var res5=Number(0.20)*Number(nb5);
var res6=Number(0.50)*Number(nb6);
var res7=Number(1)*Number(nb7);
var res8=Number(2)*Number(nb8);
var res9=Number(5)*Number(nb9);
var res10=Number(10)*Number(nb10);
var res11=Number(20)*Number(nb11);
var res12=Number(50)*Number(nb12);
var res13=Number(100)*Number(nb13);
var res14=Number(200)*Number(nb14);
var res15=Number(500)*Number(nb15);
// Recup des résultats //
document.form1.tot1.value=res1.toFixed(2);
document.form1.tot2.value=res2.toFixed(2);
document.form1.tot3.value=res3.toFixed(2);
document.form1.tot4.value=res4.toFixed(2);
document.form1.tot5.value=res5.toFixed(2);
document.form1.tot6.value=res6.toFixed(2);
document.form1.tot7.value=res7.toFixed(2);
document.form1.tot8.value=res8.toFixed(2);
document.form1.tot9.value=res9.toFixed(2);
document.form1.tot10.value=res10.toFixed(2);
document.form1.tot11.value=res11.toFixed(2);
document.form1.tot12.value=res12.toFixed(2);
document.form1.tot13.value=res13.toFixed(2);
document.form1.tot14.value=res14.toFixed(2);
document.form1.tot15.value=res15.toFixed(2);
var pie1=document.form1.tot1.value;
var pie2=document.form1.tot2.value;
var pie3=document.form1.tot3.value;
var pie4=document.form1.tot4.value;
var pie5=document.form1.tot5.value;
var pie6=document.form1.tot6.value;
var pie7=document.form1.tot7.value;
var pie8=document.form1.tot8.value;
var bil9=document.form1.tot9.value;
var bil10=document.form1.tot10.value;
var bil11=document.form1.tot11.value;
var bil12=document.form1.tot12.value;
var bil13=document.form1.tot13.value;
var bil14=document.form1.tot14.value;
var bil15=document.form1.tot15.value;
// Calculs des totaux pièces et bilets //
var totpie=Number(pie1)+Number(pie2)+Number(pie3)+Number(pie4)+Number(pie5)+Number(pie6)+Number(pie7)+Number(pie8);
var totbil=Number(bil9)+Number(bil10)+Number(bil11)+Number(bil12)+Number(bil13)+Number(bil14)+Number(bil15);
document.form1.billets.value=totbil.toFixed(2);
document.form1.pieces.value=totpie.toFixed(2);
// calculs des totaux journée //
var biltot=document.form1.billets.value;
var pietot=document.form1.pieces.value;
var totcai=Number(biltot)+Number(pietot);
document.form1.totalcaisse.value=totcai.toFixed(2);
// Calcul du total de feuille de caisse //
var caitot=document.form1.totalcaisse.value;
var totjou=Number(caitot)-251;
document.form1.total.value=totjou.toFixed(2);
}
pour info la page se présente comme ceci :
<div id="calculs">
<span class="text">Pièces</span>
<br /><br />
<table cellpadding="0" cellspacing="0">
<tr>
<td><span id"1" class="type" onMouseOver="infobulle(this, 'Pièces de 1 cent');">
0,01 €</span>
</td>
<td>
X
</td>
<td>
<input type="text" class="input" name="nombre1" id="nombre1" size="3" onChange="cal();"/>
</td>
<td>
=
</td>
<td>
<input type="text" name="tot1" disabled="disabled" class="disabled" size="4">
</td>
<td><span class="error-message"></span></td>
</tr>
<tr>
<td>
<span id="2" class="type" onMouseOver="infobulle(this, 'Pièces de 2 cents');">
0,02 €</span></td>
<td>
X
</td>
<td>
<input type="text" class="input" name="nombre2" id="nombre2" value="" size="3" onChange="cal();" />
</td>
<td>
=
</td>
<td>
<input type="text" name="tot2" disabled="disabled" class="disabled" size="4">
</td>
<td><span class="error-message"></span></td>
</tr>
<tr>
<td>
<span id="3" class="type" onMouseOver="infobulle(this, 'Pièces de 5 cents');">
0,05 €</span></td>
<td>
X
</td>
<td>
<input type="text" class="input" name="nombre3" id="nombre3" value="" size="3" onChange="cal();"/>
</td>
<td>
=
</td>
<td>
<input type="text" name="tot3" disabled="disabled" class="disabled" size="4">
</td>
<td><span class="error-message"></span></td>
</tr>
<tr>
<td>
<span class="type" onMouseOver="infobulle(this, 'Pièces de 10 cents');">
0,10 €</span></td>
<td>
X
</td>
<td>
<input type="text" class="input" name="nombre4" id="nombre4" value="" size="3" onChange="cal();"/>
</td>
<td>
=
</td>
<td>
<input type="text" name="tot4" disabled="disabled" class="disabled" size="4">
</td>
<td><span class="error-message"></span></td>
</tr>
<tr>
<td>
<span class="type" onMouseOver="infobulle(this, 'Pièces de 20 cents');">
0,20 €</span></td>
<td>
X
</td>
<td>
<input type="text" class="input" name="nombre5" id="nombre5" value="" size="3" onChange="cal();"/>
</td>
<td>
=
</td>
<td>
<input type="text" name="tot5" disabled="disabled" class="disabled" size="4">
</td>
<td><span class="error-message"></span></td>
</tr>
<tr>
<td>
<span class="type" onMouseOver="infobulle(this, 'Pièces de 50 cents');">
0,50 €</span></td>
<td>
X
</td>
<td>
<input type="text" class="input" name="nombre6" id="nombre6" value="" size="3" onChange="cal();"/>
</td>
<td>
=
</td>
<td>
<input type="text" name="tot6" disabled="disabled" class="disabled" size="4">
</td>
<td><span class="error-message"></span></td>
</tr>
<tr>
<td>
<span class="type" onMouseOver="infobulle(this, 'Pièces de 1 euro');">
1,00 €</span></td>
<td>
X
</td>
<td>
<input type="text" class="input" name="nombre7" id="nombre7" value="" size="3" onChange="cal();"/>
</td>
<td>
=
</td>
<td>
<input type="text" name="tot7" disabled="disabled" class="disabled" size="4">
</td>
<td><span class="error-message"></span></td>
</tr>
<tr>
<td>
<span class="type" onMouseOver="infobulle(this, 'Pièces de 2 euros');">
2,00 €</span></td>
<td>
X
</td>
<td>
<input type="text" class="input" name="nombre8" id="nombre8" value="" size="3" onChange="cal();"/>
</td>
<td>
=
</td>
<td>
<input type="text" name="tot8" disabled="disabled" class="disabled" size="4">
</td>
<td><span class="error-message"></span></td>
</tr>
<tr><td colspan="6"> </td></tr>
<tr>
<td colspan="4"align="left">
Total pieces :
</td>
<td colspan="1" align="right">
<input type="text" name="pieces" disabled="disabled" class="disabled" size="4">
</td>
<td align="right"> </td>
</tr>
</table>
<br />
</div>
<div id="info">
<span class="text">Billets</span>
<br /><br />
<table cellpadding="0" cellspacing="0">
<tr>
<td><span class="type" onMouseOver="infobulle(this, 'Billets de 5 euros');">
5,00 €</span></td>
<td>
X
</td>
<td>
<input type="text" class="input" name="nombre9" id="nombre9" value="" size="3" onChange="cal();"/>
</td>
<td>
=
</td>
<td>
<input type="text" name="tot9" disabled="disabled" class="disabled" size="4">
</td>
<td><span class="error-message"></span></td>
</tr>
<tr>
<td>
<span class="type" onMouseOver="infobulle(this, 'Billets de 10 euros');">
10,00 €</span></td>
<td>
X
</td>
<td>
<input type="text" class="input" name="nombre10" id="nombre10" value="" size="3" onChange="cal();"/>
</td>
<td>
=
</td>
<td>
<input type="text" name="tot10" disabled="disabled" class="disabled" size="4">
</td>
<td><span class="error-message"></span></td>
</tr>
<tr>
<td>
<span class="type" onMouseOver="infobulle(this, 'Billets de 20 euros');">
20,00 €</span></td>
<td>
X
</td>
<td>
<input type="text" class="input" name="nombre11" id="nombre11" value="" size="3" onChange="cal();"/>
</td>
<td>
=
</td>
<td>
<input type="text" name="tot11" disabled="disabled" class="disabled" size="4">
</td>
<td><span class="error-message"></span></td>
</tr>
<tr>
<td>
<span class="type" onMouseOver="infobulle(this, 'Billets de 50 euros');">
50,00 €</span></td>
<td>
X
</td>
<td>
<input type="text" class="input" name="nombre12" id="nombre12" value="" size="3" onChange="cal();"/>
</td>
<td>
=
</td>
<td>
<input type="text" name="tot12" disabled="disabled" class="disabled" size="4">
</td>
<td><span class="error-message"></span></td>
</tr>
<tr>
<td>
<span class="type" onMouseOver="infobulle(this, 'Billets de 100 euros');">
100,00 €</span></td>
<td>
X
</td>
<td>
<input type="text" class="input" name="nombre13" id="nombre13" value="" size="3" onChange="cal();"/>
</td>
<td>
=
</td>
<td>
<input type="text" name="tot13" disabled="disabled" class="disabled" size="4">
</td>
<td><span class="error-message"></span></td>
</tr>
<tr>
<td>
<span class="type" onMouseOver="infobulle(this, 'Billets de 200 euros');">
200,00 €</span></td>
<td>
X
</td>
<td>
<input type="text" class="input" name="nombre14" id="nombre14" value="" size="3" onChange="cal();"/>
</td>
<td>
=
</td>
<td>
<input type="text" name="tot14" disabled="disabled" class="disabled" size="4">
</td>
<td><span class="error-message"></span></td>
</tr>
<tr>
<td>
<span class="type" onMouseOver="infobulle(this, 'Billets de 500 euros');">
500,00 €</span></td>
<td>
X
</td>
<td>
<input type="text" class="input" name="nombre15" id="nombre15" value="" size="3" onChange="cal();"/>
</td>
<td>
=
</td>
<td>
<input type="text" name="tot15" disabled="disabled" class="disabled" size="4">
</td>
<td><span class="error-message"></span></td>
</tr>
<tr>
<td colspan="6"> </td>
</tr>
<tr>
<td colspan="4" align="left">Total billets : </td>
<td colspan="1" align="right"><input type="text" name="billets" disabled="disabled" class="disabled" size="4"></td>
<td align="right"> </td>
</tr>
</table>
<br /><span class="text">Totaux</span>
<table>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td align="left"><span class="type" onMouseOver="infobulle(this, 'Montant de la caisse.');">Total caisse :</span></td>
<td align="right"><input type="text" name="totalcaisse" disabled="disabled" class="disabled" size="4"></td>
</tr>
<tr>
<td>Fond de caisse :</td>
<td><font color="#FF0000">-251</font></td>
</tr>
<tr>
<td align="left"><span class="type" onMouseOver="infobulle(this, 'Montant TOTAL des espèces de la journée.');">Total :</span></td>
<td align="right"><input type="text" name="total" disabled="disabled" class="disabled" size="4"></td>
</tr>
</table>
</div>
<div class="clr"></div>
Merci pour votre aide et le partage de votre savoir.
CDT, Smoky
A voir également:
- Alléger du code Javascript
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
2 réponses
Bonsoir,
Pour la récupération des données tu pourrais déjà parcourir tous les éléments du form et les stocker dans un tableau en utilisant
et
et s'inspirer de ça pour le reste ;)
Merci de mettre "Résolu" quand le problème est réglé!
La connaissance c'est comme la confiture: moins on en a et plus on l'étale.
Pour la récupération des données tu pourrais déjà parcourir tous les éléments du form et les stocker dans un tableau en utilisant
var allElem= document.form1.getElementByTagName('*');
et
var elem;
for(elem in allElem){
//récupération des values de elem et traitement
}
et s'inspirer de ça pour le reste ;)
Merci de mettre "Résolu" quand le problème est réglé!
La connaissance c'est comme la confiture: moins on en a et plus on l'étale.