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 :

plusieurs check_all_box dans une page php


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut plusieurs check_all_box dans une page php
    Bonjour,

    Malgré moultes recherches, je n'ai pas trouvé comment dans une page php, avoir des checkbox pour en checker d'autres.
    Exemple dans un affichage sous format de tableau, le premier checkbox d'une colonne me permettrait de sélectionner tous les checkbox de la colonne en question mais pas les checkbox des autres colonnes.
    Ne connaissant pas à priori le nombre de colonnes...
    Je n'ai pas de problème si je me contente d'une seule liste c-à-d d'un tableau à une seule entrée. (voir les nombreux exemples sur le net)

    Par avance je remercie tous ceux qui m'aideront à résoudre ce petit (pour certains mais pas pour moi) problème.

    JL

  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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    pas les names ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut pas les names ?
    Je ne comprends pas la question. Pouvez-vous être un peu plus précis ? Merci.

  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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    et des groupes de checks ayant le même name ...

    c'est pas dans la FAQ ça ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    c'est pas dans la FAQ ça ?
    Mainte-fois résolue sur le forum aussi.
    Fait une recherche.

    A+.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut plusieurs check_all_box dans une page php
    J'insiste, j'en suis désolé mais je ne me suis peut-être pas bien fait comprendre :
    voici une exemple de ce que je voudrais réussir à faire.
    le name d'une série de checkbox est un tableau (tous[numero_de_colonne])
    Le name du checkbox est un tableau de 3 colonnes (tab[numero_de_colonne]); chaque colonne comprend un nombre aléatoire d'élèments (dans mon exemple: 3 , 5 , 2)
    Lorsque je coche sur la checkbox tous[1], la fonction checktous[1] est appelée et cochent tous les checkbox de la colonne 1; et inversement si je décoche tous[1] alors tous les tab[1] sont décochés.
    voici le fichier php :

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    <?php
    /* 
    
    Date de création: 28/01/2011 
    
    essai_check_all_dim2.php
    
    */ 
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript">
     
    function checktous(f , colonne)
    {
      var ts = document.f.getElementsByName("tous");		  
      var tb = document.f.getElementsByName("tab");
     
      // alert(colonne);
     
      if (ts[colonne].checked==true)
      {			   
         for (var i=0; i < tb[colonne].length; i++) // 
        {
          tb[colonne][i].checked = true;
        }
        tb[colonne][0].focus();
      }
      else
      {
         for (var i=0; i < tb[colonne].length; i++)
         {
          tb[colonne][i].checked = false;
         }
         tb[colonne][0].focus();
      }
    }
    </script>
    </head>
    <body>
    <?php
     
    $nbcolonnes = 3;
    $tabnbelements_colonne = array(3 , 5 , 2) ;
    $tabelements = array();
                    
    for ($c=0 ; $c!=$nbcolonnes ; $c++)
    {                       
      for ($e=0 ; $e!=$tabnbelements_colonne[$c] ; $e++)
      {
      $tabelements[$c][$e] = 2 * $c + 3 * $e * $e;
      } 
    } 
            
    print("<form name =\"form\" action=\"lister.php\" method=\"post\" target=\"_self\" >");
    print("<table><tr>");
    for ($c=0 ; $c!=$nbcolonnes ; $c++)
    {
      print("<td valign=\"top\">");
      print("<input type=\"checkbox\" name=\"tous[".$c."][]\" value=\"".$c."\" onClick=\"checktous(this.form, '$c');\">TOUS ".$c);
      print("<br /><br />");
     
      for ($e=0 ; $e!=$tabnbelements_colonne[$c] ; $e++)
      {
      print("<input type=\"checkbox\" name=\"tab[".$c."][]\" value=\"".$tabelements[$c][$e]."\" /> E = ".$tabelements[$c][$e]);
      print("<br />");
      } 
                    
    } 
    print("</tr></table>");
    print(" <input type=\"submit\" name=\"btn\" value=\"Lister\" />");
    print("</form>");
             
    ?>
    </body>
    </html>
    Si la solution de mon probléme existe dans un forum ou une FAQ alors donnez-moi SVP l'adresse où je peux la trouver. Merci.

  7. #7
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    Ton code php ne nous est d'aucune utilité, ici c'est un forum langage client
    donne nous plutot le html généré ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut source HTML obtenu
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript">
     
    function checktous(f , colonne)
    {
      var ts = document.getElementsByName("tous");		  
      var tb = document.getElementsByName("tab");
     
      // alert(colonne);
     
      if (ts[colonne].checked==true)
      {			   
       for (var i=0; i < tb[colonne].length; i++) // 
       {
        tb[colonne][i].checked = true;
       }
    tb[colonne][0].focus();
      }
      else
      {
       for (var i=0; i < tb[colonne].length; i++)
       {
        tb[colonne][i].checked = false;
       }
       tb[colonne][0].focus();
     }
    }
     
    </script>
     </head>
     
     <body>
    <form name ="form" action="lister.php" method="post" target="_self" >
    <table><tr><td valign="top">
    <input type="checkbox" name="tous[0]" value="0" onClick="checktous(this.form, '0');">TOUS 0<br /><br />
    <input type="checkbox" name="tab[0][]" value="0" /> E = 0<br />
    <input type="checkbox" name="tab[0][]" value="3" /> E = 3<br />
    <input type="checkbox" name="tab[0][]" value="12" /> E = 12<br />
    </td><td valign="top">
    <input type="checkbox" name="tous[1]" value="1" onClick="checktous(this.form, '1');">TOUS 1<br /><br />
    <input type="checkbox" name="tab[1][]" value="2" /> E = 2<br />
    <input type="checkbox" name="tab[1][]" value="5" /> E = 5<br />
    <input type="checkbox" name="tab[1][]" value="14" /> E = 14<br />
    <input type="checkbox" name="tab[1][]" value="29" /> E = 29<br />
    <input type="checkbox" name="tab[1][]" value="50" /> E = 50<br />
    </td><td valign="top">
    <input type="checkbox" name="tous[2]" value="2" onClick="checktous(this.form, '2');">TOUS 2<br /><br />
    <input type="checkbox" name="tab[2][]" value="4" /> E = 4<br />
    <input type="checkbox" name="tab[2][]" value="7" /> E = 7<br />
    </td></tr></table> 
    <input type="submit" name="btn" value="Lister" />
    </form>  
     
    </body>
    </html>

  9. #9
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    Ton utilisation a tort de table pour faire de la mise en page dans le form empêche l'utilisation de la syntaxe getElementsByName, le table masquant les elements du form poru le DOM ...
    On peut cependant accéder aux elements du form par la syntaxe ce qui donne:
    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
    34
    35
    36
    <script type="text/javascript">
    function checktous(coche,groupe){
    tabchks=document.forms[0].elements['tab['+groupe+'][]']
    var i=-1
    while(tabchks[++i]){
    tabchks[i].checked=coche;
    }
     
    }
    </script>
    </head>
     
    <body>
    <form name ="form" action="lister.php" method="post" target="_self" >
    <table><tr><td valign="top">
    <input type="checkbox" name="tous[0]" value="0" onclick="checktous(this.checked,0);">TOUS 0<br /><br />
    <input type="checkbox" name="tab[0][]" value="0" /> E = 0<br />
    <input type="checkbox" name="tab[0][]" value="3" /> E = 3<br />
    <input type="checkbox" name="tab[0][]" value="12" /> E = 12<br />
    </td><td valign="top">
    <input type="checkbox" name="tous[1]" value="1" onclick="checktous(this.checked,1);">TOUS 1<br /><br />
    <input type="checkbox" name="tab[1][]" value="2" /> E = 2<br />
    <input type="checkbox" name="tab[1][]" value="5" /> E = 5<br />
    <input type="checkbox" name="tab[1][]" value="14" /> E = 14<br />
    <input type="checkbox" name="tab[1][]" value="29" /> E = 29<br />
    <input type="checkbox" name="tab[1][]" value="50" /> E = 50<br />
    </td><td valign="top">
    <input type="checkbox" name="tous[2]" value="2" onclick="checktous(this.checked,2);">TOUS 2<br /><br />
    <input type="checkbox" name="tab[2][]" value="4" /> E = 4<br />
    <input type="checkbox" name="tab[2][]" value="7" /> E = 7<br />
    </td></tr></table> 
    <input type="submit" name="btn" value="Lister" />
    </form>  
     
    </body>
    </html>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut Un grand merci
    MERCI !

    Je vous suis très reconnaissant de m'avoir aidé sur cette difficulté.
    Je vous souhaite la bonne journée.

    JL

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

Discussions similaires

  1. [PHP 5.3] Plusieurs $_get ou $_post dans une page .php
    Par Macflemme dans le forum Langage
    Réponses: 3
    Dernier message: 20/10/2013, 12h51
  2. Insertion de plusieurs div fb-root dans une page PHP
    Par renkev dans le forum Facebook
    Réponses: 0
    Dernier message: 26/07/2011, 12h32
  3. [débutant] appeler plusieurs methodes dans une page html
    Par soulhouf dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 24/08/2005, 19h20
  4. Réponses: 11
    Dernier message: 11/03/2005, 17h41
  5. problème debodybackground dans une page php
    Par bertrand_declerck dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 04/02/2005, 22h39

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