Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[JavaScript] Boucle for, nom de var + i

elsadelatoundra, le mardi 7 novembre 2006 à 14:00:14
Bonjour,

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
Répondre à elsadelatoundra  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
kij_82, le mardi 7 novembre 2006 à 18:05:38
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 ;)

Mais je crois pas que tu puisse faire de même en JS, enfin, je n'ai jamais essayé. De sur tu t'y prend mal, c'est normal qu'il te dise que ce n'est pas défini (NaN) car ce que tu fais revient à lui demander ca :

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 ! ~
Répondre à kij_82

2


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
kij_82, le mardi 7 novembre 2006 à 18:12:25
Mais tu peux faire autrement puisque tu es en JS :

Avant de faire appel a ta fonction, passe des HH dans un tableau, de meme pour tes MM, et tu passe ces deux tableaux à ta fonction. Ou alors tu met tout ca dans des tableaux directement dans la fonction comme dans l'exemple ci-dessous :

Ainsi tu aura un truc du style :

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 ! ~
Répondre à kij_82

3


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
 elsadelatoundra, le mercredi 8 novembre 2006 à 10:22:42
Merci pour cette solution qui contourne effectivement mon problème ...

Ce que je voulais éviter c'était la construction du tableau sans boucle for ! Je vais m'en contenter ...

Il faut que j'arrête de me prendre la tête pour gagner 4 lignes de code !

En conclusion, je dis merci !!

ellessa mange des cerises
Répondre à elsadelatoundra
Commande awk-fichier vide (Résolu) Bonjour, Les fichiers possèdent 6 champs séparés par le séparateur ";". Le 1e champ contient un numéro de ligne de 1 à n (nombre d'enregistrements). Je suis dans une boucle avec une variable i recevant le nom du fichier for i in a b c ... Est-il... www.commentcamarche.net/forum/affich-3904966-commande-awk-fichier-vide
Lancer 2 fonctions dans un onclick (Résolu) Bonjour, Voici le script : function alerte(action) { windows.alert('Etes-vous sur de vouloir supprimer l\'ensemble des utilisateurs ?'); } function checkAllInput(form, action) { var i =... www.commentcamarche.net/forum/affich-6380071-lancer-2-fonctions-dans-un-onclick
Variable dans une boucle for!!! (Résolu) Bonjour, J'aimerais savoir comment faire pour initialiser un groupe de variable (d11 à d19) en faisant une boucle for. Ça devrait ressembler à ça mais ça ne fonctionne pas for i = 1 to 9 step 1 d1 & i = NULL next i J'espère avoir de vos... www.commentcamarche.net/forum/affich-1709134-variable-dans-une-boucle-for
[PHP] Notice: Undefined index:Si vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line... www.commentcamarche.net/faq/sujet-1391-php-notice-undefined-index
Le remplacement de variables en shell BashLe remplacement de variables Introduction Il peut s'avérer utile de s'assurer qu'une variable est bien définie avant de procéder à son remplacement, ou tout simplement de s'assurer que celle-ci n'est pas vide, et dans ce cas de l'initialiser avec... www.commentcamarche.net/faq/sujet-5387-le-remplacement-de-variables-en-shell-bash
Comment lire un fichier ligne par ligneComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier... www.commentcamarche.net/faq/sujet-5027-comment-lire-un-fichier-ligne-par-ligne
Boucle FOR + variable... (Résolu)Salut a tous, Est il possible de mettre le contenu d'une boucle for dans une variable ? Si oui comment, merci ! www.commentcamarche.net/forum/affich-8067404-boucle-for-variable
Probleme boucle for macro excel (Résolu)bonjour à tous j'ai un souci pour une macro excel je dois faire une tache répétitive: recopier et coller 12 fois le contenu d'un tableau croisé dynamique sur chaque fois une feuille de calcul différentes j ai donc pensé à une boucle for mais... www.commentcamarche.net/forum/affich-3432897-probleme-boucle-for-macro-excel
[PHP] Boucle for et nom de variable ! (Résolu)Bonjour ... J'ai 7 inputs portant les noms suivants : CHARGES_HH0 CHARGES_HH1 CHARGES_HH2 CHARGES_HH3 CHARGES_HH4 CHARGES_HH5 CHARGES_HH6 Je vous rassure, c'est construit à l'aide d'une boucle for !! Je suis dans un formulaire... www.commentcamarche.net/forum/affich-2439118-php-boucle-for-et-nom-de-variable
Télécharger Windows Vista SP1Fiabilité et Compatibilité Nous avons collecté un grand nombre d’informations via les outils divers et connus (Analyseur de crash en ligne, Windows Error Reporting ou encore le programme d’amélioration d’expérience utilisateur) pour nous permettre de... www.commentcamarche.net/telecharger/telecharger-34055383-windows-vista-sp1
Silverstone SST-GD02S Desktop / MicroATX / Mini ITX / DTX / SilverGD 02 02 S 02S 02S, Couleur:Argent, Facteur de forme:MicroATX / Mini-ITX / DTX, Nb. de slots d'extension:4, Nombre d'emplacements pour ventilateur:2, Nombre de baies 3, 5 pouces:2, Nombre de baies 3, 5 pouces internes:2, Nombre de baies 5, 25 pouces:1, No www.commentcamarche.net/guide-achat/silverstone-sst-gd02s-desktop-microatx-mini-itx-dtx-silver-1056508-fiche-technique
Silverstone SST-GD02S-MT Desktop / MicroATX / Mini ITX / DTX / SilverGD 02 02 S 02S 02S, Couleur:Argent, Facteur de forme:MicroATX / Mini-ITX / DTX, Nb. de slots d'extension:4, Nbre total de slots 2, 5":1, Nombre d'emplacements pour ventilateur:2, Nombre de baies 3, 5 pouces:3, Nombre de baies 3, 5 pouces externes:1, Nombr www.commentcamarche.net/guide-achat/silverstone-sst-gd02s-mt-desktop-microatx-mini-itx-dtx-silver-1041680-fiche-technique
Silverstone SST-GD02B-MT Desktop / MicroATX / Mini ITX / DTX / BlackGD 02 02 B 02B 02B, Couleur:Noir, Facteur de forme:MicroATX / Mini-ITX / DTX, Nb. de slots d'extension:4, Nbre total de slots 2, 5":1, Nombre d'emplacements pour ventilateur:2, Nombre de baies 3, 5 pouces:3, Nombre de baies 3, 5 pouces externes:1, Nombre www.commentcamarche.net/guide-achat/silverstone-sst-gd02b-mt-desktop-microatx-mini-itx-dtx-black-1041682-fiche-technique
La Chine devient le premier pays au monde en nombre d'internautes(Paris - Relax news) - La Chine a dépassé, pour la première fois, les Etats-Unis en nombre d'internautes. Selon un rapport du ministère chinois de l'Industrie et de l'Information relayé par les agences de presse locales, l'empire du Milieu compte... www.commentcamarche.net/actualites/la-chine-devient-le-premier-pays-au-monde-en-nombre-d-internautes-5846540-actualite.php3
[Brève] Quatre nouveaux forfaits bloqués pour Universal Music MobileUniversal Music Mobile commercialise une nouvelle gamme de quatre forfaits bloqués variant d'un forfait d'une heure à un forfait deux heures avec SMS et MMS, téléchargement légal de musique, et Windows Live Messenger illimités 24h/24. Les personnes... www.commentcamarche.net/actualites/breve-quatre-nouveaux-forfaits-bloques-pour-universal-music-mobile-5847189-actualite.php3
Le format GIFLe format GIF Le format GIF (Graphic Interchange Format) est un format de fichier graphique bitmap (raster) par la société Compuserve. Il existe deux versions de ce format de fichier développées respectivement en 1987 et 1989 : GIF 87a supportant... www.commentcamarche.net/contents/video/format-gif.php3
PHP - Les variables d'environnementNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script... www.commentcamarche.net/contents/php/phpenv.php3
Les variables d'environnement avec les servletsNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas d'une... www.commentcamarche.net/contents/servlets/servvar.php3