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 :

sélectionner des checkbox avec Id et name différents


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 121
    Par défaut [RESOLU] sélectionner des checkbox avec Id et name différents
    Bonjour à tous,

    J'ai un formulaire qui liste un nombre (différents à chaque chargement) de fichier,

    en regard de chaque fichier une case à cocher dont le nom JavaScript est unique
    (il est incrémenté, c'est obligatoire puisqu'au submit une autre page récupère en POST les fichiers sélectionnés)
    et un Id unique également (incrémenté lui aussi, normal un Id est forcément unique) !

    En ce qui concerne le fait de tout sélectionner d'un coup, ça fonctionne à condition de laisser le même nom pour toutes les cases à cocher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<input type="checkbox" name="CBeffacer" value="'.$file.'" id="CBeffacer'.$i.'">' ;
    Au bas de mon formulaire un lien, qui lorsqu'il est cliqué me sélectionne toutes les cases :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function cocheToutesCases() {
    	for (i=0, n=document.formAdmin.CBeffacer.length; i<n; i++) {
    			document.formAdmin.CBeffacer[i].checked=true;
    			}
    	}
    Mais au submit, l'autre page ne me récupère que la dernière valeur sélectionnée. Forcément, puisqu'ils ont tous le même nom ! Si je leurs met un nom différent, le lien les sélectionnant tous ne fonctionnera plus...
    Comment faire ?

    Merci pour vos conseils.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    puisque le nombre de fichiers est géré dynamiquement sur le serveur, tu pourrais lors de cette génération, générer un array javascript contenant les id des éléments (checkbox) à prendre en compte. Tu n'aurais ensuite plus qu'à utiliser cet array dans ta fonction afin de balayer les input en y accédant directement.
    Pour effectuer ça uniquement côté client, tu peux aussi cibler les checkbox en fonction du type d'élément au lieu d'utiliser leurs identifiants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var lst_input = document.getElementById('id_conteneur').getElementsByTagName('input');
    for (var i=0; i<lst_input.length; i++)
      if (lst_input[i].type=="checkbox")
         lst_input[i].checked=true;
    'id_conteneur' étant l'id de l'élément contenant les input (un div, un form, une table ...)

    A+

  3. #3
    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
    Bonjour,
    Sinon il y a ça : getElement(s)ById filtré par une regExp dans la contribution.
    Mais au submit, l'autre page ne me récupère que la dernière valeur sélectionnée. Forcément, puisqu'ils ont tous le même nom ! Si je leurs met un nom différent, le lien les sélectionnant tous ne fonctionnera plus...
    Comment faire ?
    Tu peux utiliser la valeur de name comme un tableau.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 121
    Par défaut
    Merci à vous,

    Je vais tester tout ça...

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

Discussions similaires

  1. Sélectionner des éléments avec la souris
    Par amine.h dans le forum jQuery
    Réponses: 3
    Dernier message: 05/11/2010, 11h17
  2. cocher des checkbox avec onclick
    Par Mo_Poly dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/11/2009, 16h48
  3. Réponses: 5
    Dernier message: 08/08/2009, 05h20

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