Une varaible dans la désignation d'un objet

cs_Warwick Messages postés 81 Date d'inscription vendredi 1 février 2002 Statut Membre Dernière intervention 8 octobre 2007 - 28 oct. 2002 à 14:08
jenlain62 Messages postés 44 Date d'inscription lundi 17 juin 2002 Statut Membre Dernière intervention 14 mai 2006 - 4 nov. 2002 à 14:38
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

JEROMAX Messages postés 274 Date d'inscription jeudi 22 février 2001 Statut Membre Dernière intervention 7 octobre 2013
28 oct. 2002 à 15:08
essaie ca:
var resu=count.toString();
alert(document.all['mat_ '+resu].checked);

[ JEROMAX ]
http://a6ze.free.fr
0
nitro120 Messages postés 229 Date d'inscription vendredi 16 août 2002 Statut Membre Dernière intervention 9 juillet 2003
28 oct. 2002 à 23:00
si ca marche pas g une otre solution ...
JavaScript forever !
0
nitro120 Messages postés 229 Date d'inscription vendredi 16 août 2002 Statut Membre Dernière intervention 9 juillet 2003
28 oct. 2002 à 23:01
si ca marche pas g une otre solution ...
JavaScript forever !
0
cs_Warwick Messages postés 81 Date d'inscription vendredi 1 février 2002 Statut Membre Dernière intervention 8 octobre 2007
29 oct. 2002 à 12:58
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nitro120 Messages postés 229 Date d'inscription vendredi 16 août 2002 Statut Membre Dernière intervention 9 juillet 2003
1 nov. 2002 à 14:48
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...)
0
jenlain62 Messages postés 44 Date d'inscription lundi 17 juin 2002 Statut Membre Dernière intervention 14 mai 2006
4 nov. 2002 à 14:38
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.
0
Rejoignez-nous