Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
719 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [javascript] variable dynamique ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[javascript] variable dynamique ?

n°1888225
obigit
Posté le 26-05-2009 à 21:28:47  profilanswer
 

Salut
 
je cherche à recuperer 7 resultats de mon formulaire php pour pouvoir les traiter en javascript, le nom des valeurs est : val1, val2 ...
 
voici ma fonction qui fonctionne pour une seul entrée :
 

Code :
  1. function check(form)
  2. {
  3. var msg = "";
  4.        if((parseFloat(form.val1.value) > 1)
  5.  {
  6.   msg += "saisie invalide\n";
  7.   alert(msg);
  8.   return(false);
  9.  }
  10. }


   
Je pensais à faire une boucle mais je vois pas comment incrémenter le nom de la variable :
 

Code :
  1. for (i=1; i<=7; i++)
  2. {
  3.  if((parseFloat(form.xxxx.value) > 1)
  4.  {
  5.   msg += "saisie invalide\n";
  6.   alert(msg);
  7.   return(false);
  8.  }
  9.     }

mood
Publicité
Posté le 26-05-2009 à 21:28:47  profilanswer
 

n°1888281
SICKofitAL​L
misanthrope
Posté le 27-05-2009 à 00:57:01  profilanswer
 

un truc comme ca :??:
 

Code :
  1. var fields = [ 'val1', 'val2', 'val3', 'val4', 'val5', 'val6', 'val7'];
  2. for (var i = 0; i < fields.length; i++)
  3. {
  4.  if ((parseFloat (form[fields[i]].value) > 1)
  5.  {
  6.    alert ("Saisir invalide pour le champ " + fields[i]);
  7.    return false;
  8.  }
  9. }


 
[:_edit]
A noter qu'en JS 1.6 (Firefox 1.5+) on pourrait faire un truc dans ce style :  

Code :
  1. [ 'val1', 'val2', 'val3', 'val4', 'val5', 'val6', 'val7'].forEach (function (v)
  2.     {
  3.         if (parseFloat (form[v].value) > 1)
  4.         {
  5.             alert ("Saisir invalide pour le champ " + v);
  6.             return false;
  7.         }
  8.     });


Message édité par SICKofitALL le 27-05-2009 à 01:00:40

---------------
We deserve everything that's coming...
n°1888735
obigit
Posté le 27-05-2009 à 20:52:18  profilanswer
 

merci ton premier exemple marche très bien, mais mon souci est que mtnt j'ai 28 variables :/
 
y'aurait-il un moyen de declarer les variables dans le tableau plus "proprement"
 
pcke faire :   var fields = [ 'val1', 'val2', 'val3', 'val4', 'val5', 'val6', 'val7'] ca fait un peu long
 
a noter que mes variables ont pr nom  : val10, val11, val12, val13, val20, val21, val22, val23 ...
 
ce qui rend la tache un peu plus difficle, j'ai pensé à faire une double boucle mais je ne vois pas comment rentrer les infos dans le tableau
 

Code :
  1. for(var i = 1;i<8;i++)
  2. {
  3.     var p = i*10;
  4.     for(var j=p;j<p+4;j++)
  5.     {
  6.     var fields = "val"+j;  ????
  7.     }
  8. }


 
dsl si mes questions peuvent paraitre betes mais je ne fais pas svt de javascript  :bounce:

Message cité 1 fois
Message édité par obigit le 27-05-2009 à 20:58:55
n°1888740
guybrush02
Posté le 27-05-2009 à 21:04:10  profilanswer
 

Tu peux faire quelque chose du genre
var fields = eval("val"+j)
 

Message cité 2 fois
Message édité par guybrush02 le 27-05-2009 à 21:04:50
n°1888749
masklinn
í dag viðrar vel til loftárása
Posté le 27-05-2009 à 21:46:23  profilanswer
 

guybrush02 a écrit :

Tu peux faire quelque chose du genre
var fields = eval("val"+j)
 


 [:cerveau vomi]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1888752
flo850
moi je
Posté le 27-05-2009 à 21:53:35  profilanswer
 

tu donnes un classe a tes champs, et tu en recupere la liste dynamiquement


---------------

n°1888753
obigit
Posté le 27-05-2009 à 22:05:25  profilanswer
 

guybrush02 a écrit :

Tu peux faire quelque chose du genre
var fields = eval("val"+j)
 


 
ca ne marche pas  :cry:
 
meme en faisaint :

Code :
  1. var fields = j;alert(fields[0]);


 
il me sort : undefined


Message édité par obigit le 27-05-2009 à 22:08:26
n°1888758
SICKofitAL​L
misanthrope
Posté le 27-05-2009 à 22:15:36  profilanswer
 

obigit a écrit :

merci ton premier exemple marche très bien, mais mon souci est que mtnt j'ai 28 variables :/
 
y'aurait-il un moyen de declarer les variables dans le tableau plus "proprement"
 
pcke faire :   var fields = [ 'val1', 'val2', 'val3', 'val4', 'val5', 'val6', 'val7'] ca fait un peu long
 
a noter que mes variables ont pr nom  : val10, val11, val12, val13, val20, val21, val22, val23 ...
 
ce qui rend la tache un peu plus difficle, j'ai pensé à faire une double boucle mais je ne vois pas comment rentrer les infos dans le tableau
 

Code :
  1. for(var i = 1;i<8;i++)
  2. {
  3.     var p = i*10;
  4.     for(var j=p;j<p+4;j++)
  5.     {
  6.     var fields = "val"+j;  ????
  7.     }
  8. }


 
dsl si mes questions peuvent paraitre betes mais je ne fais pas svt de javascript  :bounce:


Code :
  1. var fields = [];
  2. for (var i = 1; i < 8; i++)
  3. {
  4.    var p = i * 10;
  5.    for (var j = p; j < p + 4; j++)
  6.    {
  7.      fields.push ("val" + j);
  8.    }
  9. }



---------------
We deserve everything that's coming...
n°1888759
SICKofitAL​L
misanthrope
Posté le 27-05-2009 à 22:15:55  profilanswer
 

flo850 a écrit :

tu donnes un classe a tes champs, et tu en recupere la liste dynamiquement


[:plusun]


---------------
We deserve everything that's coming...
n°1888761
obigit
Posté le 27-05-2009 à 22:22:26  profilanswer
 


 
merci ca marche nickel  :jap:  
 
je regarde la doc pour voir comment faire des classes  :sweat:  

mood
Publicité
Posté le 27-05-2009 à 22:22:26  profilanswer
 

n°1888764
SICKofitAL​L
misanthrope
Posté le 27-05-2009 à 22:35:34  profilanswer
 

obigit a écrit :


 
merci ca marche nickel  :jap:  
 
je regarde la doc pour voir comment faire des classes  :sweat:  


Il parle d'une classe CSS que tu peux attribuer à tes élements, que tu peux récuperer avec des lib JS comme jQuery ou autre. Le résultat est alors directement placé dans un tableau que tu peux scruter avec une simple boucle.


---------------
We deserve everything that's coming...
n°1888776
obigit
Posté le 27-05-2009 à 23:53:58  profilanswer
 

merci pour ces précisions, je vais voir ça de plus près !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [javascript] variable dynamique ?

 

Sujets relatifs
aide javascript script mootool+smoothboxImage dans body mailto javascript firefox
Image dans body mailto javascript firefoxReformater une variable date
[Javascript] zoom sur image : changer le sens d'ouverture du zoom...[Javascript] Retarder l'appel d'un script externe
Lien dans javascript[javascript] Rollover : changer une image
Acceder à un tableau via une seule variable via un pointeur?submit javascript d'un formulaire sous Internet Explorer
Plus de sujets relatifs à : [javascript] variable dynamique ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR