Salut !
J'essaie de transformer ces lignes :
Code :
- function somme(f){
- valeur=0;
- valeur+=Math.round(100*(parseFloat(f.elements["M_MONTANT_0"].value)))/100;
- valeur+=Math.round(100*(parseFloat(f.elements["M_MONTANT_1"].value)))/100;
- valeur+=Math.round(100*(parseFloat(f.elements["M_MONTANT_2"].value)))/100;
- valeur+=Math.round(100*(parseFloat(f.elements["M_MONTANT_3"].value)))/100;
- valeur+=Math.round(100*(parseFloat(f.elements["M_MONTANT_4"].value)))/100;
- valeur+=Math.round(100*(parseFloat(f.elements["M_MONTANT_5"].value)))/100;
- if(isNaN(valeur)){return false} else {return true}
- }
|
en une boucle for, j'ai essayé ceci sans succès :
Code :
- function somme(f){
- valeur=0;
- for (i=0; i<f.elements["NB_ELEMENTS"]; i++){
- valeur+=Math.round(100*(parseFloat(f.elements["M_MONTANT_"+i].value)))/100;
- }
- if(isNaN(valeur)){return false} else {return true}
- }
|
---------------------------------------------
Voici ma page complète pour information :
Code :
- <HTML>
- <HEAD>
- <SCRIPT LANGUAGE="JavaScript">
- var valeur=0;
-
- function somme(f){
- //for (i=0; i<f.elements["NB_ELEMENTS"]; i++){
- valeur=0;
- valeur+=Math.round(100*(parseFloat(f.elements["M_MONTANT_0"].value)))/100;
- valeur+=Math.round(100*(parseFloat(f.elements["M_MONTANT_1"].value)))/100;
- valeur+=Math.round(100*(parseFloat(f.elements["M_MONTANT_2"].value)))/100;
- valeur+=Math.round(100*(parseFloat(f.elements["M_MONTANT_3"].value)))/100;
- valeur+=Math.round(100*(parseFloat(f.elements["M_MONTANT_4"].value)))/100;
- valeur+=Math.round(100*(parseFloat(f.elements["M_MONTANT_5"].value)))/100;
- //}
- if(isNaN(valeur)){return false} else {return true}
- }
- function Start_somme(){
- var f=document.forms["ics"];
- if(somme(document.forms["ics"])){
- document.forms["ics"].elements['TOTAL_COTIS'].value=valeur
- }
- setTimeout("Start_somme()",100)
- }
- </SCRIPT>
- </HEAD>
- <BODY onload="Start_somme()">
- <FORM ACTION="" METHOD=POST name=ics>
- <INPUT TYPE=hidden NAME="NB_ELEMENTS" VALUE="6" SIZE=10>
- Élément A : <INPUT TYPE=text NAME="M_MONTANT_0" VALUE="0" SIZE=10><BR>
- Élément B : <INPUT TYPE=text NAME="M_MONTANT_1" VALUE="0" SIZE=10><BR>
- Élément C : <INPUT TYPE=text NAME="M_MONTANT_2" VALUE="0" SIZE=10><BR>
- Élément D : <INPUT TYPE=text NAME="M_MONTANT_3" VALUE="0" SIZE=10><BR>
- Élément E : <INPUT TYPE=text NAME="M_MONTANT_4" VALUE="0" SIZE=10><BR>
- Élément F : <INPUT TYPE=text NAME="M_MONTANT_5" VALUE="0" SIZE=10><BR>
- <BR>
- TOTAL : <INPUT TYPE=text NAME=TOTAL_COTIS VALUE="0" SIZE=10>
- </FORM>
- </BODY>
- </HTML>
|
Est-ce que vous sauriez comment faire ?
edit: je viens de me rendre compte que le pb venait de la présence de f.elements["NB_ELEMENTS"]
dans cette ligne :
for (i=0; i<f.elements["NB_ELEMENTS"]; i++){
je viens d'essayer de la remplacer par
var nbelements=document.forms["ics"].elements['NB_ELEMENTS'].value;
en entête et
for (i=0; i<nbelements; i++){
mais sans succès non plus
Message édité par sire de Botcor le 16-07-2007 à 13:53:27
---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron