|
|
|
|
[JavaScript] Boucle for, nom de var + i
Dernière réponse le 8 nov 2006 à 10:22:42 elsadelatoundra, le 7 nov 2006 à 14:00:14Bonjour,
J'ai un peu soucis en JS ...
En fait j'ai une fonction validerModif que j'appelle suite au SUBMIT d'un form PHP ... L'appel de cette fonction marche ... Je l'appelle avec pas mal de param et je voudrais "automatiser" leur traitement parce qu'ils portent tous un nom similaire :
chargeHH1, chargeHH2, ..., chargeHH6
chargeMM1, chargeMM2, ..., chargeMM6
J'avais pensé à ça :
function validerModif(dateDeb, dateFin, dateEch, chargeHH0, chargeMM0, chargeHH1, chargeMM1, chargeHH2, chargeMM2, chargeHH3, chargeMM3, chargeHH4, chargeMM4, chargeHH5, chargeMM5, chargeHH6, chargeMM6){
var tableauCharges = new Array();
for(var i=0; i<7; i++){
var chargeHH = parseInt(((chargeHH+i).value)*60) ;
var chargeMM = parseInt((chargeMM+i).value) ;
var chargesSaisies = chargeHH+chargeMM ;
tableauCharges.push(chargesSaisies);
messageErreur = messageErreur+"\n"+tableauCharges[i];
}
alert(messageErreur)
return false ;
}
Mais vous vous doutez bien que si je suis là c'est que ça ne marche pas !!
L'affichage de l'alert me donne des NaN !! Tandis que si je mets par exemple :
var chargeHH = parseInt(((chargeHH+i).value)*60) ; var chargeMM = parseInt((chargeMM+i).value) ;à la place de
var chargeHH = parseInt(((chargeHH1).value)*60) ; var chargeMM = parseInt((chargeMM1).value) ;ça m'affiche des valeurs numériques !!
Je pense que je fais mal (très mal / affreusement mal / ... à vous de juger !!) la concaténation des noms de variables avec le i, et d'ailleurs, je ne sais pas si j'ai le droit de faire ça !
Je vous remercie d'avance pour vos réponses et espère avoir été claire dans mon explication ...
ellessa mange des cerises
Ce que tu fais est faisable en PHP lorsque tu récupère tes données via POST, GET, et c'est d'ailleurs ce que tu as déjà fais, d'ou l'adaptation en JS ici j'imagine ;)
var chargeHH = parseInt(((10+i).value)*60) ; si chargeHH vaut 10, mais vu qu'il n'est pas défini il te met l'erreur. Dans ton cas, 'chargeHH' est interprété comme un variable ~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic et ya pas de bôg môsieu ! ~ |
Mais tu peux faire autrement puisque tu es en JS :
function validerModif(dateDeb, dateFin, dateEch, chargeHH0, chargeMM0, chargeHH1, chargeMM1, chargeHH2, chargeMM2, chargeHH3, chargeMM3, chargeHH4, chargeMM4, chargeHH5, chargeMM5, chargeHH6, chargeMM6){
var tabChargeHH = new Array();
tabChargeHH.push(chargeHH1);
tabChargeHH.push(chargeHH2);
...
var tabChargeMM = new Array();
// --- Idem que pour tabChargeHH
var tableauCharges = new Array();
for(var i=0; i<tabChargeHH.length; i++){
var chargeHH = parseInt((tabChargeHH[i].value)*60) ;
var chargeMM = parseInt(tabChargeMM.value) ;
var chargesSaisies = chargeHH+chargeMM ;
tableauCharges.push(chargesSaisies);
messageErreur = messageErreur+"\n"+tableauCharges[i];
}
alert(messageErreur)
return false ;
}
Et voilà, je pense que ton probleme est contourné ? ~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic et ya pas de bôg môsieu ! ~
|

