IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

recupérer valeur checkbox


Sujet :

JavaScript

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Points : 314
    Points
    314
    Par défaut recupérer valeur checkbox
    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...

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    Si tu n'as qu'une checkbox autant utiliser son Id.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tavariable = document.getElementById('IdDeTaCheckBox').value
    Et si tu veux faire a partir du nom utilise la fonction getElementsByName()

  3. #3
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Points : 314
    Points
    314
    Par défaut
    ça ne marche pas avec getElementsByName()

    c'est quoi la difference entre getElementsByName() et getElementById ? quels sont les avantages et inconvénients ?

  4. #4
    Membre averti Avatar de deY!
    Inscrit en
    Avril 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 403
    Points : 414
    Points
    414
    Par défaut
    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:

    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 un checkboxe dans un 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 nom sans 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];
    Si tu as plusieurs checkbox avec le meme id dans un formulaire :

    Change moi ça tout de suite...
    deY!

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Points : 45
    Points
    45
    Par défaut
    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>

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par deY!

    Si tu as plusieurs checkbox avec le meme nom dans un formulaire :

    Change moi ça tout de suite...
    Je pense tu dois confondres avec l'attribut id qui lui doit être unique

  7. #7
    Membre averti Avatar de deY!
    Inscrit en
    Avril 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 403
    Points : 414
    Points
    414
    Par défaut
    Oui tout mes confuse...

    la methode DOM getElementsByClass n'existe pas, il faut la créer.
    deY!

  8. #8
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Points : 314
    Points
    314
    Par défaut
    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...

  9. #9
    Membre averti Avatar de deY!
    Inscrit en
    Avril 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 403
    Points : 414
    Points
    414
    Par défaut
    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.
    deY!

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Points : 45
    Points
    45
    Par défaut
    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>
    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.
    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.

    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 !

  11. #11
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Points : 314
    Points
    314
    Par défaut
    ok,
    merci

  12. #12
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recupération valeur JList
    Par pierrot2908 dans le forum Composants
    Réponses: 1
    Dernier message: 14/05/2007, 10h31
  2. Réponses: 4
    Dernier message: 11/04/2007, 16h03
  3. recupérer valeur de checkbox
    Par Emcy dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 06/02/2007, 11h00
  4. recupérer valeur de champs
    Par Echizen1 dans le forum Access
    Réponses: 14
    Dernier message: 14/09/2006, 20h24
  5. [Tableaux] Valeur checkbox
    Par baillador dans le forum Langage
    Réponses: 7
    Dernier message: 13/04/2006, 10h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo