Une varaible dans la désignation d'un objet

Signaler
Messages postés
81
Date d'inscription
vendredi 1 février 2002
Statut
Membre
Dernière intervention
8 octobre 2007
-
Messages postés
44
Date d'inscription
lundi 17 juin 2002
Statut
Membre
Dernière intervention
14 mai 2006
-
Bonjour,

je fais appel à vos services afin de savoir si vous pouvez m'aider à résoudre un petit problème...

Voila, je crée une liste de matières (français, anglais, PHP, ...) avec à côté une checkbox correspondant à la matière...

Cette liste est crée de façon automatique à partir d'un tableau...

Mettons que j'ai 10 matières... dont les noms des checkbox sont mat_1, mat_2, mat_3...

Je voudrais savoir quelles matières ont été côchées...

Je souhaiterais regarder ça dans une boucle avec un compteur de la façon suivante

while (count<10)
{

if (document.formulaire.mat_ + count + .checked)
{
....
}

count ++

}

mais cette syntaxe ne marche pas, je n'arrive pas à mettre le count dans le if...

Or le jombre de matières ^pouvant varier, je n'est pas envie d'écrire le test
à la main du style if (document.formulaire.mat_0.checked) pour les 10 matières ce qui fonctionnerai
très bien, mais le jour ou je rajoute des matières...

Quelqu'un sait comment je peux intégrer mon compteur dans la désignation d'un objet.

J'ai essayé var chaine = document.formulaire.mat_ + count + .checked

puis if(chaine), mais chaine vaut toujours vrai donc le if s'execute sans cesse...

Pouvez-vous m'aider????

Il faudrait que je puisse intégrer une variable dans la désignation d'un objet en gros...

Merci de votre aide.

Cordialement.

WArwick

6 réponses

Messages postés
274
Date d'inscription
jeudi 22 février 2001
Statut
Membre
Dernière intervention
7 octobre 2013

essaie ca:
var resu=count.toString();
alert(document.all['mat_ '+resu].checked);

[ JEROMAX ]
http://a6ze.free.fr
Messages postés
229
Date d'inscription
vendredi 16 août 2002
Statut
Membre
Dernière intervention
9 juillet 2003

si ca marche pas g une otre solution ...
JavaScript forever !
Messages postés
229
Date d'inscription
vendredi 16 août 2002
Statut
Membre
Dernière intervention
9 juillet 2003

si ca marche pas g une otre solution ...
JavaScript forever !
Messages postés
81
Date d'inscription
vendredi 1 février 2002
Statut
Membre
Dernière intervention
8 octobre 2007

Je n'est pas encore essayé la précédente solution mais je veux bien quand même ta solution pour voir comment je pourrais mettre ma fonction en oeuvre.

Merci de ta réponse, et merci également au dépositaire de la première solution.

Cordialement

Warwick
Messages postés
229
Date d'inscription
vendredi 16 août 2002
Statut
Membre
Dernière intervention
9 juillet 2003

c ca :
while (count<10){
if(eval("document.formulaire.mat_" + count +" .checked")){
....
}
count ++
}

eval() ressemble a :
document.write("<script>")
document.write("var "+monNomdeVar+"="+moncontenu)
document.write("</"+"script>")
eval() retourne en plus le résultat
je n'ai pas encore expliqué eval() dans mon tutorial mais jai deja explique le document.write("<script>")
mon tuto (non terminé) est a ladresse : http://nitro.120.free.fr/oldd/cours_js.zip
a+ (javoue que moi meme je nai pas encore exploité toutes les possibilités de eval() mais je lai decouvert il y a peu de temps...)
Messages postés
44
Date d'inscription
lundi 17 juin 2002
Statut
Membre
Dernière intervention
14 mai 2006

for(i=0;i<form.length;i++)
if(form[i].name.substr(0,4)=='mat_')
if (form[i].checked){
.....
}

au moins avec ce code t'as pas besoin de modifier quoi que ce soit qd tu ajoute des matieres.