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 :

compter des cases à cocher - pb de undefined


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Points : 97
    Points
    97
    Par défaut compter des cases à cocher - pb de undefined
    Bonjour à tous et en ce début d'année, tous mes vœux !

    Voici ce qui m'amène :

    Je ne comprends pas pourquoi le code ci-dessous ne fonctionne pas lorsque le nombre de cases à cocher dans le document est de 1. Lorsque le document ne contient qu'une case à cocher, on obtient undefined.

    exemple qui fonctionne


    exemple qui ne fonctionne pas



    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
    29
    30
    31
     
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <script type="text/javascript">
     
     
    			function MajLien()
    			{
    var cases_a_cocher_cb = document.mon_form.elements['check[]'];
    var nombreCasesCochees=0;
    alert ('total de cases à cocher '+cases_a_cocher_cb.length);
    for (i=0;i<cases_a_cocher_cb.length;i++){
       if (cases_a_cocher_cb[i].checked) nombreCasesCochees++;
       }
    alert('nombre de cases cochées : '+nombreCasesCochees);
    			}
     
        </script>
      </head>
      <body>
        <form name="mon_form" action="" method="post" name="test" onsubmit="check(this);" >
          <input type="checkbox" name="check[]" onClick="MajLien()" value="1"/>1 <br />
          <input type="checkbox" name="check[]" onClick="MajLien()" value="2"/>2 <br />
          <input type="checkbox" name="check[]" onClick="MajLien()" value="3"/>3 <br />
          <input type="checkbox" name="check[]" onClick="MajLien()" value="4"/>4 <br />
          <input type="checkbox" name="check[]" onClick="MajLien()" value="5"/>5 <br />
          <input type="submit" name="btn" value="GO" />
        </form>
      </body>
    </html>
    Qui peut m'expliquer pourquoi ?

    Par avance merci.

    Bien à vous
    Tavar
    Mieux vaut penser avant d'agir que d'agir en rêvant.

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Bonjour,

    C'est le fait de passer le name en index de elements, quand il y a plus d'un élement ça te renvoie une array, sinon ça renvoie directement l'élément. Donc pas d'array = boucle for qui foire

    Une méthode qui renvoie toujours une array est document.getElementsByName("check[]")
    One Web to rule them all

  3. #3
    Membre régulier Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Points : 97
    Points
    97
    Par défaut
    Bonjour SylvainPV,

    Un grand merci pour cette réponse. Effectivement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByName("check[]")
    change tout.

    Encore Merci,

    Bien à vous

    Tavar
    Mieux vaut penser avant d'agir que d'agir en rêvant.

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

Discussions similaires

  1. [AC-2013] Compter des case à cocher
    Par djibouli dans le forum IHM
    Réponses: 11
    Dernier message: 21/07/2014, 08h09
  2. Compter des case a cocher
    Par travanca dans le forum VBA Access
    Réponses: 4
    Dernier message: 09/04/2013, 22h11
  3. Problèmes avec des cases à cocher et une liste déroulante
    Par rob2-9 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/01/2006, 10h52
  4. calcul sur des cases à cocher
    Par karidrou dans le forum Access
    Réponses: 3
    Dernier message: 06/12/2005, 11h40
  5. Réponses: 5
    Dernier message: 25/11/2004, 09h11

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