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 :

Parcour des getElementById dans un formulaire imbriqué ?


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 17
    Points : 18
    Points
    18
    Par défaut Parcour des getElementById dans un formulaire imbriqué ?
    Bonjour,

    Je voulais faire un truc tout con, une checkbox permettant de cocher plusieurs checkbox d'un coup. Tout marche très bien, mais je me suis retrouvé face à un problème.

    IE arrête de parcourir les éléments lorsqu'il renconter une balise de type formulaire. Comment faire pour le forcer à continuer ? A noter que la procédure marche très bien sous Firefox.

    Mon code est ce qu'il y a de plus simple :
    - une checkbox principale permettant un checkall
    - deux checkbox de choix

    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
    <html>
    <head>
    <script type="text/javascript">
    function checkDelBoxes(pId, pName, pState) {
    	var cur = document.getElementById(pId).firstChild;
    	while (cur != null) {
    		if (cur.nodeName == 'INPUT')
    			if (cur.getAttribute('type') == 'checkbox' && cur.name == pName)
    				cur.checked = pState;
    		cur = cur.nextSibling;
    	}
    }
    //-->
    </script>
    </head>
     
    <body>
    <form method="get" action="">
    	<input type="checkbox" onClick="checkDelBoxes('div_chck', 'checkgroup', this.checked);"  id="checkbox0" /><label for="checkbox1">All</label><br />
    	<br /><br />
    		<div id="div_chck">
    			<input type="checkbox" name="checkgroup" id="checkbox1" /><label for="checkbox1">Choix 1</label><br />
    			<form id="test_form" method="get" action="">plop</form>
    			<input type="checkbox" name="checkgroup" id="checkbox2" /><label for="checkbox2">Choix 2</label><br />
    		</div>
    </form>
    </body>
    </html>
    Si quelqu'un a une idée, je m'arrache les cheveux dessus...

    J'ai aussi essayé de parcourir avec les names des éléments, mais IE bloque exactement au même endroit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script type="text/javascript">
     
    function checkDelBoxes(pForm, boxName, state) {
    	for (i = 0; i < pForm.elements.length; i++)
    		if (pForm.elements[i].name == boxName)
    			pForm.elements[i].checked = state;
    }
    </script>
    Merci d'avance

  2. #2
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    tout simplement : on ne peut pas imbriquer deux <form>.

    A+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 17
    Points : 18
    Points
    18
    Par défaut
    Ok

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 17/02/2012, 14h16
  2. gérer l'ordre des tabulations dans un formulaire
    Par amigauss dans le forum Langage
    Réponses: 11
    Dernier message: 17/01/2006, 10h43
  3. Masquer des champs dans un formulaire
    Par crazykingpin dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/12/2005, 15h29
  4. Dessiner des formes dans un formulaire
    Par karimspace dans le forum Access
    Réponses: 3
    Dernier message: 30/12/2005, 14h24
  5. Réponses: 3
    Dernier message: 19/03/2003, 15h19

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