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 :

Vérification des checkboxs


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 172
    Points : 74
    Points
    74
    Par défaut Vérification des checkboxs
    Salut,

    J'ai mis en place un formulaire avec des checkboxs à l'interieur. J'ai essayé de mettre en place une petite fonction pour vérifier qu'au moins une checkbox avit été cocher, mais elle ne fonctionne pas; Est ce que quelqu'un pourrait m'aider?

    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
     
    function checkForm2(num) {
        msg = "";
        eval("var formObj = document.form" + num + "_2;");
     
        if (formObj.group.checked == false) msg += "<?printMLText("js_select_group");?>\n";
     
        if (msg != "")
        {
            alert(msg);
            return false;
        }
        else
            return true;
    }

    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
     
    <form action="../op/op.UsrMgr.php" name="form<?print $us->getID();?>_2" onsubmit="return checkForm2('<?print $us->getID();?>');">
            <input type="Hidden" name="action" value="addgroup">
            <input type="Hidden" name="userid" value="<?print $us->getID();?>">
            <table>
                <tr>
                    <td class="inputDescription"><?printMLText("add_groups");?>:</td>
                            <?
                                $i = 0;
                                $k = count($allGroups) - 1;
                                $j = count($allGroups) / $k;
                                foreach ($allGroups as $currGroup){
                                if ( $i > $j){
                                print "</tr><tr><td></td>";
                                $i = 0;
                                }  
                                $i++;            
                                if (!$us->isInGroup($currGroup))
                                    print "<td><input type='checkbox' name='group[]' value=\"".$currGroup->getID()."\">" . $currGroup->getName() . "\n";
                                    $group = $_POST["group"]."</td>";
                                }     
                                            ?>
                               </tr>
                <tr>
                    <td colspan="2"><br><input type="Submit"></td>
                </tr>
            </table>
            </form>
    Merci!

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    oulào un fabuleux mélange de javascript et de php ..
    sauf que le php ne s'exécute pas coté client ...

    pour verifier sir au moins un check est coché il faut scanner la collection ...le principe:
    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
    <script type='text/javascript'>
    function checkmychecks(){
    var atleastone=0;
    var checkcollection=document.getElementsByName('nomdeschecks')
    for (i=0;i<checkcollection.length;i++){
                atleastone+=(checkcollection[i].checked)?1:0;
                }
    //alert(atleastone)
     
    alert((atleastone<1)?"il faut en cocher au moins 1":"au moins un est coché")
    }
    </script>
    </head>
     
    <body>
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="button" onclick="checkmychecks()" value='check' />
    </body>

  3. #3
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 172
    Points : 74
    Points
    74
    Par défaut
    D'accord, mais il ne va pas effectuer mon action submit. Le bouton va juste servir à verifier si les checkbox sont coché ou pas, non?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    u veux donc avant le submit vérifier si au moins un est checked et refuser l'envoi du form si ce n'est pas le cas ...
    c'est dans la tout ça mais je suis dans un bon jour ...


    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
    <script type='text/javascript'>
    function checkmychecks(){
    var atleastone=0;
    var checkcollection=document.getElementsByName('nomdeschecks')
    for (i=0;i<checkcollection.length;i++){
                atleastone+=(checkcollection[i].checked)?1:0;
                }
    //alert(atleastone)
     
    alert((atleastone<1)?"il faut en cocher au moins 1":"au moins un est coché")
     
    return (atleastone<1)?false:true;
    }
    </script>
    </head>
     
    <body>
    <form action="javascript:alert('je soumets le formulaire')" onsubmit="return checkmychecks();" >
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="checkbox" name="nomdeschecks" />
    <input type="submit" value='valider' />
    </body>

  5. #5
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 172
    Points : 74
    Points
    74
    Par défaut
    en gros, ça dois donner ça, non? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function checkmychecks(num){
    var atleastone=0;
    eval("var formObj = document.form" + num + "_2;");
    var checkcollection=formObj.getElementsByName('group')
    for (i=0;i<checkcollection.length;i++){
                atleastone+=(checkcollection[i].checked)?1:0;
                }
    //alert(atleastone)
     
    alert((atleastone<1)?"il faut en cocher au moins 1":"au moins un est coché")
     
    return (atleastone<1)?false:true;
    }
    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
     
    <form action="../op/op.UsrMgr.php" name="form<?print $us->getID();?>_2" onsubmit="return checkmychecks('<?print $us->getID();?>');">
            <input type="Hidden" name="action" value="addgroup">
            <input type="Hidden" name="userid" value="<?print $us->getID();?>">
            <table>
                <tr>
                    <td class="inputDescription"><?printMLText("add_groups");?>:</td>
                            <?
                                $i = 0;
                                $k = count($allGroups) - 1;
                                $j = count($allGroups) / $k;
                                foreach ($allGroups as $currGroup){
                                if ( $i > $j){
                                print "</tr><tr><td></td>";
                                $i = 0;
                                }  
                                $i++;            
                                if (!$us->isInGroup($currGroup))
                                    print "<td><input type='checkbox' name='group[]' value=\"".$currGroup->getID()."\">" . $currGroup->getName() . "\n";
                                    $group = $_POST["group"]."</td>";
                                }     
                                            ?>
                               </tr>
                <tr>
                    <td colspan="2"><br><input type="Submit"></td>
                </tr>
            </table>
            </form>
    dsl .. je suis carrement une quiche en javascript

  6. #6
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    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
     
    <script type='text/javascript'>
    function checkmychecks(ch){
     for(i=0;i<ch.length;i++){
      if(ch[i].checked){
       return true
      }
     }
    return false
    }
    </script>
    </head>
    <body>
    <form action="" onsubmit="return checkmychecks(this.elements['checks[]']);" >
    <input type="checkbox" name="checks[]" />
    <input type="checkbox" name="checks[]" />
    <input type="checkbox" name="checks[]" />
    <input type="checkbox" name="checks[]" />
    <input type="checkbox" name="checks[]" />
    <input type="checkbox" name="checks[]" />
    <input type="checkbox" name="checks[]" />
    <input type="checkbox" name="checks[]" />
    <input type="checkbox" name="checks[]" />
    <input type="checkbox" name="checks[]" />
    <input type="checkbox" name="checks[]" />
    <input type="submit" value='valider' />
     
    </body>
    </html>

  7. #7
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 172
    Points : 74
    Points
    74
    Par défaut
    Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... Merci ... etc...

    Problème résolu, ça marche nikel.

    un grand merci à toi javatwister pour ta solution et à toi SpaceFrog pour ton aide.

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

Discussions similaires

  1. vérification des checkbox
    Par misterio dans le forum VB.NET
    Réponses: 12
    Dernier message: 23/11/2010, 17h02
  2. [VBA-E] Question à propos des checkbox
    Par Timfg dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/04/2005, 15h09
  3. [C#] Tableau généré contenant des checkbox
    Par la_muraille dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/04/2005, 12h16
  4. Cochage des checkbox d'un dbgrid
    Par kose dans le forum Bases de données
    Réponses: 1
    Dernier message: 25/01/2005, 16h26
  5. boucler sur des checkboxes
    Par El Saigneur dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 09/10/2004, 08h27

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