bonjour,
comment fait-on pour r�cup�rer la valeur d'un checkbox � l'aide de l'attribut name ?
la checkbox se situe dans un formulaire...
Version imprimable
bonjour,
comment fait-on pour r�cup�rer la valeur d'un checkbox � l'aide de l'attribut name ?
la checkbox se situe dans un formulaire...
Bonjour,
Si tu n'as qu'une checkbox autant utiliser son Id.
Et si tu veux faire a partir du nom utilise la fonction getElementsByName()Code:
1
2 tavariable = document.getElementById('IdDeTaCheckBox').value
�a ne marche pas avec getElementsByName()
c'est quoi la difference entre getElementsByName() et getElementById ? quels sont les avantages et inconv�nients ?
getElementsByName retoure un tableau de noeux, alors que getElementByIs retourne une et une seul...
Tu voit d'ailleurs un "s" � element... si tu n'as qu'un checkbox sans formulaire fait:
Si tu as un checkboxe dans un formulaire :Code:
1
2
3 <input type="checkbox" id="id_cb" /> document.getElementById('id_cb');
Si tu as plusieurs checkbox avec le meme nom sans formulaire :Code:
1
2
3
4
5
6 <form name="n_form" action=""> <input type="checkbox" name="n_cb" /> </form> document.forms['n_form'].elements['n_cb'];
Si tu as plusieurs checkbox avec le meme id dans un formulaire :Code:
1
2
3 <input type="checkbox" name="n_cb" /> document.getElementsByName('id_cb')[place dans la page];
Change moi �a tout de suite...
getElementsByName() te retourne une collection d'objet il faut ensuite la parcourir pour trouver l'�l�ment sur lequel tu veux travailler.
Cette fonction est donc utile quand tu as plusieurs �l�ment ayant le m�me "name" (ex: checkbox, radio, etc.)
getElementById() en revanche te retourne un �l�ment unique (normal puisque la s�lection se fait sur l'id de l'�l�ment).
En conclusion, si tu n'as qu'un �l�ment utilise getElementById sinon getElementsByName (ou getElementsByClass)
Exemple sommaire d'utilisation de la m�thode getElementsByName :
Code:
1
2
3
4
5
6
7
8
9
10
11 <FORM name="form_fruit"> <INPUT type="checkbox" name="fruit" value="Fraise"> Fraise <BR> <INPUT type="checkbox" name="fruit" value="Banane"> Banane <BR> <INPUT type="checkbox" name="fruit" value="Pomme"> Pomme <BR> </FORM> <SCRIPT language=javascript> document.getElementsByName("fruit")[0].checked = true; document.getElementsByName("fruit")[1].checked = true; document.getElementsByName("fruit")[2].checked = true; </script>
Je pense tu dois confondres avec l'attribut id qui lui doit �tre unique ;)Citation:
Envoy� par deY!
Oui tout mes confuse...
la methode DOM getElementsByClass n'existe pas, il faut la cr�er.
merci pour ces eclaircissment
=> donc a priori, pour les checkbox, il vaut mieux travailler sur le id alors que sur les radios boutons, il vaut mieux travailler sur les name (vu qu'ils sont plusieurs et li�s)
l'un des seuls endroit ou il faudrait utiliser l'attribut name sur une checkbox, c'est lorsqu'on a un tableau rempli de checkbox...
Si tu l'utilise dans un formulaire il te faut forc�ment un name sinon tu ne le r�cup�re pas lors du submit.
Oui, en effet j'ai oubli� de pr�ciser que la m�thode getElementsbyClass n'est pas une m�thode javascript et qu'il faut effectivement la cr�er.
Exemple
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <script type="text/javascript"> function getElementsByClass(searchClass, node, tag) { var classElements = new Array(); if ( node == null ) node = document; if ( tag == null ) tag = '*'; var els = node.getElementsByTagName(tag); var elsLen = els.length; var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)"); for (i = 0, j = 0; i < elsLen; i++) { if ( pattern.test(els[i].className) ) { classElements[j] = els[i]; j++; } } return classElements; } function tailleFonte(classe, taille) { cibles = getElementsByClass('mod'); for (i=0; i < cibles.length; i++) { cibles[i].style.fontSize = taille; } } </script>
Dans un formulaire il faut en effet que tu donne une valeur � l'attribut name � tous les �l�ments que tu veux r�cup�rer sinon il ne seront pas transmis lors de l'envoi de ton formulaire.Citation:
Si tu l'utilise dans un formulaire il te faut forc�ment un name sinon tu ne le r�cup�re pas lors du submit.
L'attribut id est utile pour acc�der � directement � l'objet en javascript notamment
Conclusion : renseigne les attributs id et name de tes �l�ments comme ca t'es tranquille !
ok,
merci
Bonjour � tous,
Et si on � plusieurs checkbox avec des noms diff�rents dans un formulaire? :calim2:
Je m'explique.
Voici un visuel de ma page:
http://www.zupload.fr/uploads/1253019895.jpg
L'utilisateur a la possibilit� de choisir un ou deux visuel.
Chaque checkbox a un nom diff�rent (de mani�re � pouvoir limiter la s�lection � 2 max).
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 <?php foreach ($product_selling_pictures as $product_selling_picture): ?> <?php $class=""; if ($cpt%3 == 0) { $class=" last"; } $cpt++; ?> <div class="span-2<?php echo $class ?>"> <?php echo image_tag("/uploads/pictures_com/".$product_selling_picture->getPicture().'?'.rand(), 'alt="'.$product_selling_picture->getName().'" class="product_img"') ?> <div class="radioButton" style="text-align:left;"> <?php if ($product_selling->getName() == 'Adhésifs véhicule'): ?> <input type="checkbox" name="picture<?php echo $numcheck; ?>" id="picture<?php echo $numcheck; ?>" value="<?php echo $product_selling_picture->getId(); ?>" onclick="verifChk('picture<?php echo $numcheck; ?>')" /> <label><?php echo $product_selling_picture->getName() ?> - <?php echo $product_selling_picture->getXfr() ?></label> <?php $numcheck++ ?> <?php else: ?> <?php echo radiobutton_tag("picture", $product_selling_picture->getId(), false); ?> <label><?php echo $product_selling_picture->getName() ?></label> <?php endif ?> </div> </div>
J'aimerais savoir comment je peux r�cup�rer les codes XFR, situ�s � cot� des noms de visuels, pour les checkbox checked, afin de les r�cup�rer pour ma page suivante:
http://www.zupload.fr/uploads/1253020650.jpg
(� la place des "...")
Quelqu'un aurait-il une id�e sivipl� ? :zoubi:
Je suis dispo si vous avez besoin d'infos compl�mentaires.