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,
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 uniqueEnvoyé 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.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 !
Bonjour à tous,
Et si on à plusieurs checkbox avec des noms différents dans un formulaire?
Je m'explique.
Voici un visuel de ma page:
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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:
(à la place des "...")
Quelqu'un aurait-il une idée siviplé ?
Je suis dispo si vous avez besoin d'infos complémentaires.
Partager