Nom d'un objet en parametre

[Résolu]
Signaler
Messages postés
10
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
7 juillet 2006
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Voila mon probleme, j'envois le nom d'une checkbox en parametre de ma fonction test, le but etant de cocher toute les checkbox ayant ce nom.
Voici ma fonction:

function test(nom)
{
for (i=0; i<document.form1.nom.length; i++)
{
document.form1.nom[i].checked=true;
}
}

Et voila la source de ma page générée par du php.
<td><input type="checkbox" name="Acces_l" onClick="javascript:test('Acces_l');"/>Lect</td>

merci d'avance pour votre aide

7 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,

<script type="text/javascript">
function cocher(chk)
{
for ( var n=0;n<chk.length;n++ )
{
chk[n].checked=true;
}
}
</script>

...onclick="cocher(Acces_l);" sans les ' sinon c'est une chaîne de carcatères, pas l'objet

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,

dans l'exemple ( pas testé ) il n'y a qu'un seul name="Acces_1"
donc Access_1.length n'existe pas, ni Access_1[0].checked
Access_1.checked oui.

remarque : onclick="javascript:fonction..." est un pléonasme
onclick="fonction...." suffit.

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
10
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
7 juillet 2006

Dans la source j'ai mis uniquement la ligne correspondant au checkbox lancant le javascript sinon voici les autres correspondant aux autres checkbox
</tr>

<tr class="table">
<td>&nbsp;</td>
<td>login</td>
<td><input type="checkbox" name="Acces_l" value="login_l" />Lect</td>

<td><input type="checkbox" name="Acces_e" value="login_e" />Ecrit</td>
<td><input type="checkbox" name="Acces_m" value="login_m" />Modif</td>
</tr>
<tr class="table">
<td>&nbsp;</td>
<td>menu</td>
<td><input type="checkbox" name="Acces_l" value="menu_l" />Lect</td>

<td><input type="checkbox" name="Acces_e" value="menu_e" />Ecrit</td>
<td><input type="checkbox" name="Acces_m" value="menu_m" />Modif</td>
</tr>
<tr class="table">
<td>&nbsp;</td>
<td>messages</td>
<td><input type="checkbox" name="Acces_l" value="messages_l" />Lect</td>

<td><input type="checkbox" name="Acces_e" value="messages_e" />Ecrit</td>
<td><input type="checkbox" name="Acces_m" value="messages_m" />Modif</td>
</tr>

Je cherche a passer le nom du checkbox en parametre parce que j'ai d'autres checkbox avec d'autres nom dans la meme page.
Messages postés
10
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
7 juillet 2006

Autre remarque si je met directement dans ma fonction test
function test()
{
for (i= 0; i<document.form1. access_l .length; i++)
{
document.form1.acces_l[i].checked =true;
}
}
aucuns souci ca marche,

de meme si dans ma fonction je fais un document.write(nom), auncuns souci non plus il m'affiche bien Acces_l.
Mais j'ai vraiment besoin de passer le nom que je veux en parametre mais je ne vois pas la solution.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
j'ai oublié de dire que ma 1ère remarque
reste valable ( si une seule ligne est générée )
il vaudrait donc mieux tester l'existence de .length avant
la boucle qui est inutile si 1 seule ligne ?
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
10
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
7 juillet 2006

Merci beaucoup ca marche nickel, merci encore j'ai trop galèré la-dessus.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
merci du retour,
les forums c'est aussi fait pour se faire aider
sur une faute d'inattention, car le nez dans le guidon,
on ne voit plus rien.
le debugger IE aurait cependant permis de voir que
nom était = "Acces_l" et pas à [object]
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>