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 :

Récupérer les checkbox cochés


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 153
    Points : 56
    Points
    56
    Par défaut Récupérer les checkbox cochés
    Bonjour,
    En javascript, je récupère les checkbox cochés par la méthode suivante (reconstitution):

    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
    Javascript
    var chk = eval (document.myform.checkbox1_name);
    for (i = 0; i < chk.length; i++)
    {
       if (chk[i].checked == true)
       {
           // Action --->
       }
    }
    
    PHP
    <form name="my_form" method="post">
       <input type="checkbox" name="checkbox1_name" />
       <input type="checkbox" name="checkbox1_name" />
       <input type="checkbox" name="checkbox1_name" />
    </form>
    Mais il se trouve que désomais, je dois ajouter une autre balise form dans mon code php donc ça devient
    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
    Javascript
    var chk = eval (document.myform.checkbox1_name.checked);
    for (i = 0; i < chk.length; i++)
    {
       if (chk[i].checked == true)
       {
           // Action --->
       }
    }
    
    PHP
    <form name="my_form" method="post">
       <input type="checkbox" name="checkbox1_name" />
       <input type="checkbox" name="checkbox1_name" />
       <input type="checkbox" name="checkbox1_name" />
    
       <form name="autre_forme" action="index.php" method="post">
          //blablabla
          <input type="submit" value="Submit autre_forme" />
       </form>
    </form>
    Et la coince, car l'imbrication de 2 balises form ne marche pas, si je clique sur le submit, alors c'est le premier form qui est appelé.

    Le top serait de supprimer le form me permettant uniquement de récupérer les checkbox sélectionnés pour laisser le 2eme form fonctionner normalement !! non ?

    Ne me dites pas qu'il suffit de sortir le 2eme form car il a ses raisons d'être dans l'autre form voici plus précisément pourquoi

    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
    Javascript
    var chk = eval (document.myform.checkbox1_name.checked);
    for (i = 0; i < chk.length; i++)
    {
       if (chk[i].checked == true)
       {
           // Action --->
       }
    }
    
    PHP
    <form name="my_form" method="post">
    foreach ($i=0;$i<truc;$i)
    {
       <input type="checkbox" name="checkbox1_name" />
    
       <form name="autre_forme_$i" action="index.php" method="post">
          //blablabla
          <input type="submit" value="Submit autre_forme" />
       </form>
    }
    </form>
    Si je supprime mon premier form, le 2eme fonctionne nickel, mais si je supprime le premier alors je ne peux plus récupérer ma liste de checkbox coché, alors comment me sortir de cette impasse ???

    Merci beaucoup pour votre coup de main

    Rg

  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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    des forms imbriqués ?????
    change moi ça tout de suite ...

  3. #3
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut the daily wtf ?
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var chk = eval (document.myform.checkbox1_name);
    for (i = 0; i < chk.length; i++)
    {
       if (chk[i].checked == true)
       {
           // Action --->
       }
    }
    Heu...
    C'est moi qui craque ou bien ?

    >>> qu'est-ce que c'est que ce $¤#?& ?

    mais si je supprime le premier alors je ne peux plus récupérer ma liste de checkbox coché, alors comment me sortir de cette impasse ???
    Non non ...tu peux récupérer tous les checkbox que tu veux. Tu ne parviens pas à les récupérer à l'aide de cette fonction mystique, et c'est très différent

    Pour préserver (le peu qu'il reste de) ma santé mentale, je te demande de nous fournir plus d'explications.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 153
    Points : 56
    Points
    56
    Par défaut
    euh ... c'est l'but justement
    ... mais pour supprimer le première form, il me faut savoir comment, en javascript, je peux récupérer la liste des checkboxs sélectionnés ??? car la , je sèche.

  5. #5
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var checkboxes = document.getElementById("idDuForm").getElementsByTagName("input");
    for (var i = 0, iMax = checkboxes.length; i < iMax; ++i) {
       var check = checkboxes[i];
       if (check.type == "checkbox" && check.checked) {
          // tu accèdes ici à chaque checkbox cochée avec check[i]
       }
    }

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

    Informations forums :
    Inscription : Février 2009
    Messages : 153
    Points : 56
    Points
    56
    Par défaut
    Merci Romain
    J'essaierais bien ce que tu me dis, mais une chose m'inquiète, tu écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("idDuForm").getElementsByTagName("input");
    mais idDuForm fait référence au 1er form ? ... que je souhaite supprimer pour éviter l'imbrication !!
    je me trompe ?

  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 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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    supprime le form imbriqué tout en conservant ses éléments ...
    ensuite getElementById ou ByName et le tour est joué

  8. #8
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par Regis0122 Voir le message
    ... mais idDuForm fait référence au 1er form ? ... que je souhaite supprimer pour éviter l'imbrication !!
    je me trompe ?
    Oui
    C'est celui à l'intérieur qu'il faut supprimer, garde le premier (my_form) ^^

    A la limite, essaie de nous expliquer (en termes de résultats souhaités) *pourquoi* tu croyais avoir besoin d'un autre form à l'intérieur du premier... ça peut probablement désamorcer des confusions à l'avenir

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 153
    Points : 56
    Points
    56
    Par défaut
    Ah non je ne peux pas supprimer le 2eme, que le premier ... enfin je pense ...

    En fait, à chaque tour du foreach je créé une ligne (comme pour un tableau)
    et chaque ligne contient des colonnes:
    col 1 - col 2 - col 3 -col 4

    col1 - affiche un petit cryon (en image png)
    col2 - affiche un titre
    col3 - description
    col4 ... blabla

    si je clique sur le crayon, alors, via ajax, j'affiche un input à la place du titre pour pouvoir le renomer.
    Voici le code charger dans le div de la col2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    echo "<form name='le2eme' action='index.php?...modif_dans_bdd' method='post'>";
     
          echo "<div id='$div_id' title=\"$title\" STYLE='background:# ; width:350px ; height:29px ;  float:left'    >";
             echo "<input name='input_name' type='text' STYLE='width:280px;' value='$truc'>";
             echo "<input type='submit' STYLE='width:32px;font-weight:bold;cursor:pointer' value='OK' />";
          echo "</div>";
     
       echo "</form>";
    Ce nouvel input est contenu dans un form (d'ou le 2eme form)) pour pouvoir balancer la requete de modif à la base de données.

    Vous voyez ??? j'espère être assez clair, donc le 2eme, je ne souhaite pas le supprimer ... mais plutôt le 1er

  10. #10
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par Regis0122 Voir le message
    si je clique sur le crayon, alors, via ajax, j'affiche un input à la place du titre pour pouvoir le renomer.
    Heu... l'afficher oui ^^ Le créer, avec un form autour, non.

    Au moment du clic, fais apparaitre l'input en question, qui est présent dès le départ mais non affiché : et dans ta page PHP qui traite ton appel ajax, tu n'utilises que les données qui t'intéressent... pas besoin de créer un input, et encore moins un form.

Discussions similaires

  1. Récupérer les id de toutes les checkbox cochées
    Par paladice dans le forum jQuery
    Réponses: 3
    Dernier message: 30/04/2013, 14h10
  2. [SP-2007] Récupérer les checkboxes cochées dans une custom task
    Par nostaze dans le forum SharePoint
    Réponses: 0
    Dernier message: 21/05/2012, 16h21
  3. [PHP 5.3] Récupérer les checkbox cochées dans une variable
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 01/06/2009, 12h25
  4. Réponses: 4
    Dernier message: 20/08/2007, 01h16
  5. Réponses: 8
    Dernier message: 30/11/2006, 18h32

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