Nom d'un objet en parametre

Résolu
Rael87 Messages postés 10 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 7 juillet 2006 - 21 mars 2006 à 11:02
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 21 mars 2006 à 15:52
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

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
21 mars 2006 à 15:27
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>
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
21 mars 2006 à 12:24
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>
0
Rael87 Messages postés 10 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 7 juillet 2006
21 mars 2006 à 14:19
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.
0
Rael87 Messages postés 10 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 7 juillet 2006
21 mars 2006 à 14:39
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.
0

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

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
21 mars 2006 à 15:30
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>
0
Rael87 Messages postés 10 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 7 juillet 2006
21 mars 2006 à 15:40
Merci beaucoup ca marche nickel, merci encore j'ai trop galèré la-dessus.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
21 mars 2006 à 15:52
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>
0
Rejoignez-nous