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 :

checkbox formulaire récupérer plusieurs id


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut checkbox formulaire récupérer plusieurs id
    Bonjour,

    Voila je vient vers vous car j'ai un soucis avec un formulaire.

    J'ai ceci:
    Code html : 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
    <input onclick="CocheTout(this, 'Choix[]');" class="hideType" idtype=""type="checkbox"><img src="image/icon/deco.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="28" checked="checked"><img src="image/icon/cmreu.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="29" checked="checked"><img src="image/icon/cmrdv.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="14" checked="checked"><img src="image/icon/dragon.png" width="22" height="22">              
    <input type="checkbox" class="hideType" name="Choix[]" idtype="15" checked="checked"><img src="image/icon/boss.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="16" checked="checked"><img src="image/icon/champ.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="17" checked="checked"><img src="image/icon/coffre.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="18" checked="checked"><img src="image/icon/jumpingPuzzle.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="30" checked="checked"><img src="image/icon/plongee.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="19" checked="checked"><img src="image/icon/richgold.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="20" checked="checked"><img src="image/icon/mithrilrich.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="21" checked="checked"><img src="image/icon/platinerich.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="22" checked="checked"><img src="image/icon/ferriche.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="27" checked="checked"><img src="image/icon/argentriche.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="23" checked="checked"><img src="image/icon/pnj.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="24" checked="checked"><img src="image/icon/defi.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="31" checked="checked"><img src="image/icon/prime.png" width="22" height="22">e
    <input type="checkbox" class="hideType" name="Choix[]" idtype="25" checked="checked"><img src="image/icon/courses.png" width="22" height="22">
    <input type="checkbox" class="hideType" name="Choix[]" idtype="26" checked="checked"><img src="image/icon/puzzle.png" width="22" height="22">

    Cette ligne permet de décocher ou cocher toutes les autres case:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input onclick="CocheTout(this, 'Choix[]');" class="hideType" idtype=""type="checkbox"><img src="image/icon/deco.png" width="22" height="22">
    Le code java de cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function CocheTout(ref, name) {
    	var form = ref;
    	while (form.parentNode && form.nodeName.toLowerCase() != 'form'){ 
    		form = form.parentNode; 
    	}
    	var elements = form.getElementsByTagName('input');
    	for (var i = 0; i < elements.length; i++) {
    		if (elements[i].type == 'checkbox' && elements[i].name == name) {
    			elements[i].checked = ref.checked;
    		}
    	}
    }
    Ce que je souhaite et le problème est la c'est que dans cette ligne:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input onclick="CocheTout(this, 'Choix[]');" class="hideType" type="checkbox"><img src="image/icon/deco.png" width="22" height="22">
    je désire pouvoir récuperer tout les idtypes situer dans la totalité du formulaire

    Merci d'avance pour votre réponse

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Déjà, tu peux simplifier ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var form = ref;
    while (form.parentNode && form.nodeName.toLowerCase() != 'form'){ 
    	form = form.parentNode; 
    }
    revient à
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var elements = form.getElementsByTagName('input');
    sera meux si tu utilises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var elements = form.getElementsByName(name);
    Sauf que name est assez maladroit pour un nom de paramètre... surtout s'il concerne un attribut HTML name (idem pour les variables elements et form)...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function CocheTout(ref, nom) {
    	var formu = ref.form;
    	var elems = formu.getElementsByName(nom);
    	for (var i = 0, l = elems.length; i < l; i++) {
    		elems[i].checked = ref.checked;
    	}
    }

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/11/2012, 20h33
  2. [PHP 5.2] formulaire avec plusieurs checkbox
    Par diblasio dans le forum Langage
    Réponses: 2
    Dernier message: 09/08/2010, 13h00
  3. Récupérer plusieurs valeurs de formulaire
    Par Jiyuu dans le forum Django
    Réponses: 2
    Dernier message: 10/04/2009, 22h00
  4. Contrôle formulaire avec plusieurs checkbox
    Par Jumano dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/04/2007, 10h36
  5. Formulaire en plusieurs etapes
    Par maimba dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 07/10/2004, 15h48

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