Probleme de variable

Probleme de variable - HTML/CSS - Programmation

Marsh Posté le 26-09-2006 à 23:28:47    

Bonjour,
 
j'ai un problème pour traiter des variables dans une fonction Javascript.  :??:  
 
Voici la fonction :

Code :
  1. function check_montant_aff(origine)
  2. {
  3. if (origine == 'OP')
  4. {
  5.   if ( document.frmDemo1.montantop.value < '0') { alert("Vous devez saisir un montant !" ); }
  6.   else
  7.   {
  8.    for (var s=1;s<16;s++) // on limite la boucle à 15 tours
  9.    {
  10.     // Calcul du montant affecté
  11.     if (document.frmDemo1.montant_ + s + .value)
  12.      { document.frmDemo1.mnt_aff.value = document.frmDemo1.mnt_aff.value + (Math.round(document.frmDemo1.montant_ + s + .value*100)/100); }
  13.     document.frmDemo1.mnt_aff_.value = document.frmDemo1.mnt_aff.value;
  14.     // Calcul du montant restant à affecter => Montant OP - Montant restant à affecter  
  15.     document.frmDemo1.mnt_a_aff.value = ( document.frmDemo1.montantop.value - document.frmDemo1.mnt_aff.value );
  16.     document.frmDemo1.mnt_a_aff.value = (Math.round(document.frmDemo1.mnt_a_aff.value*1000)/1000);
  17.     document.frmDemo1.mnt_a_aff_.value = document.frmDemo1.mnt_a_aff.value
  18.    }
  19.   }
  20. }
  21. }


 
Mon problème est donc le suivant :
 dans ma page web:
       j'ai 1 à 15 champs (montant_1, montant_2 ... en nombre variables en fonction d'un résultat base de données) dans lesquels le user saisit une valeur
       j'ai un autre champ (mnt_aff) dans lequel est calculé un montant total (somme des 1 à 15 autres champs remplis)
 
Puisque mes champs de saisie sont en nombre variable, j'ai fait une boucle dans ma fonction Js pour faire la somme adéquate.
 
Mon problème c'est que dans la boucle, je n'arrive pas à rendre le nom des champs remplis par le user sous forme variable
 => au lieu de dire montant_1 + montant_2 + montant_3" .....
  => je voudrais montant_"variable" ( en math on dit "montant_n" quoi !!  :pt1cable:  )
 
Savez-vous si c'est possible ?????

Reply

Marsh Posté le 26-09-2006 à 23:28:47   

Reply

Marsh Posté le 27-09-2006 à 00:20:40    

si on a pas le HTML correspondant à ton JS de merde on peut pas t'aider

Reply

Marsh Posté le 27-09-2006 à 09:35:58    

si si on peut ;)  
en fait il veut savoir comment faire pour ecrire
document.sonFormulaire.unnomdechamps{sonIncremenetDeboucle}.value pour faire sa somme.
D'ou la ligne bizarre:

Code :
  1. if (document.frmDemo1.montant_ + s + .value)


 
Bon comme je suis de bonne humeur ce matin, je vais pas casser tout ce que tu as fait mais juste te dire que tu devrais utiliser un eval. Un truc dans le genre:

Code :
  1. var mtValue;
  2. eval('mtValue = document.frmDemo1.montant_'+s+'.value');
  3. if (mtValue){
  4. ...
  5. }

Reply

Marsh Posté le 27-09-2006 à 10:04:25    

anapajari a écrit :

si si on peut ;)  
en fait il veut savoir comment faire pour ecrire
document.sonFormulaire.unnomdechamps{sonIncremenetDeboucle}.value pour faire sa somme.
D'ou la ligne bizarre:

Code :
  1. if (document.frmDemo1.montant_ + s + .value)


 
Bon comme je suis de bonne humeur ce matin, je vais pas casser tout ce que tu as fait mais juste te dire que tu devrais utiliser un eval. Un truc dans le genre:

Code :
  1. var mtValue;
  2. eval('mtValue = document.frmDemo1.montant_'+s+'.value');
  3. if (mtValue){
  4. ...
  5. }



 
Ahhhhhhhhhh cool  :bounce:  ... merci beaucoup pour ton aide je vois ça ce soir si ça marche.
 
A bientôt ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed