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 :

controle de certaines checkbox


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Points : 43
    Points
    43
    Par défaut controle de certaines checkbox
    Salut

    Voilà je débute en Javascript et j'aurais besoin d'un peu d'aide pour y voir plus clair, merci !

    En fait j'ai un formulaire qui contient 20 checkboxs. Il y en a 4 d'entre elles qui correspondent à des catégories. Ce que je voudrais, c'est être sûr que l'utilisateur a au moins coché une des 4 (et une seule uniquement). Pour l'instant je pars d'un code qui permet de contrôler s'il y a au moins une checkbox cochée dans le formlaire.

    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
    function checked()
    {
    var msg = \"Mon message\";
    var dForm = document.MonFormulaire;
    var iChecked = 0;
    for (i=0;i<dForm.length;i++)
    {
    var element = dForm[i];
    if (element.type==\"checkbox\" && element.checked == true)
    {
    iChecked++;
    }
    }
    if (iChecked > 0)
    {
    return true;
    }
    else
    {
    alert(msg);
    return false;
    }
    }
    Vous pouvez m'aider ?
    J'imagine que dans le principe il faut que j'identifie mes checkboxs mais je ne sais pas comment y faire référence dans le Javascript

    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Points : 196
    Points
    196
    Par défaut
    Je suis pas sur que ce soit la meilleure methode mais ca devrait marcher:

    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
     
    // Tu crees un Array dans ta fonction avec le nom - pardon l'ID - de tes 4 checkboxes:
    var myBoxes = new Array('checkbox1','checkbox2','checkbox3','checkbox4');
    // Puis tu vérifies si elles sont cochées:
    var numChecked = 0;
    for (i=0; i<myBoxes.length; i++){
      if ( document.getElementById(myBoxes[i]).checked == true ){
    // Si elle est cochée tu rajoutes 1 a ta variable numChecked
        numChecked += 1;
      }
    }
    // Si la valeur de numChecked est différente de 1, tu envoies ton alert:
    if ( numChecked != 1){
      alert('Non!');
      retrun false;
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Points : 43
    Points
    43
    Par défaut
    Merci, je vais essayer

    Pardon, mais si c'est pas la meilleure méthode ? Tu ferais comment dans ce cas ?

    Merci

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Points : 196
    Points
    196
    Par défaut
    Je ferai ce que j'ai écrit tout en me demandant si c'est bien la meilleure méthode ;-)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Points : 43
    Points
    43
    Par défaut
    Ca fonctionne pas ! Je vois pas pourquoi, quelqu'un a une idée ?

    voici le code :
    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
    32
    33
    <script>
    function checked()
    {
    // Tu crees un Array dans ta fonction avec le nom - pardon l'ID - de tes 4 checkboxes:
    var myBoxes = new Array('case1','case2','case3','case4');
    // Puis tu vérifies si elles sont cochées:
    var numChecked = 0;
    for (i=0; i<myBoxes.length; i++){
      if ( document.getElementById(myBoxes[i]).checked == true ){
    // Si elle est cochée tu rajoutes 1 a ta variable numChecked
        numChecked += 1;
      }
    }
    // Si la valeur de numChecked est différente de 1, tu envoies ton alert:
    if ( numChecked != 1){
      alert('Non!');
      return false;
    }
    } 
    </script>
    </head>
     
    <body>
    <form action="testok.php" method="get">
     
    <input id="case1" name="case1" type="checkbox" value="1" />
    <input id="case2" name="case2" type="checkbox" value="1" />
    <input id="case3" name="case3" type="checkbox" value="1" />
    <input id="case4" name="case4" type="checkbox" value="1" />
    <input type="submit" value="Envoyer" onsubmit="checked()" />
    </form>
     
    </body>
    Merci

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Points : 196
    Points
    196
    Par défaut
    Parce que tu mets ton onsubmit sur le bouton au lieu du form?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form onsubmit="checked();">

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Points : 430
    Points
    430
    Par défaut
    un onsubmit se met dans la balise form en général, surement en écrivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="return check();"

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Points : 196
    Points
    196
    Par défaut
    Tusssssssss a raison, c'est "return checked();" et non juste "checked();", sinon ton form sera quand meme posté...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Points : 43
    Points
    43
    Par défaut
    Merci les gars, je vous avais prévenu je débute.

    CA MARCHE MERCI

    Juste un détail, est-ce qu'il y a un moyen de changer l'intitulé de la fenêtre d'erreur Javascript. Actuellement j'ai : "La page sur http://localhost/ dit" ?

  10. #10
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814

Discussions similaires

  1. [Toutes versions] Treeview : comment interdire le cochage de certaines checkboxes ?
    Par Filou07 dans le forum VBA Access
    Réponses: 0
    Dernier message: 20/03/2015, 13h27
  2. Choix du control pour des "checkbox" modulable
    Par megamario dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/06/2009, 21h37
  3. controle sur les checkbox, deb
    Par Mobistar dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/04/2008, 10h34
  4. une certaine checkbox désactive d'autres champs
    Par fred036 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 05/10/2006, 15h19
  5. [C#] TreeView : masquer certaines checkboxes
    Par annalady dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/04/2006, 22h24

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