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 :

Groupes de checkbox


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    144
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 144
    Par d�faut Groupes de checkbox
    Chers membres,

    Je dispose de plusieurs groupes de checkbox exemple : NOM - PRENOM - AGE - TAILLE - ETC. Pour chacun de ces groupes les variables sont repr�senter comme une s�rie de case � cocher. Voici le code HTML qui cr�� ces �l�ments :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    {foreach from=$ids key=cle2 item=attribut}<style type="text/css">#uniform-{$id_product}_{$cle2}{ display: inline;}</style>
    				 <input class="d_c_selector" id="{$id_product|escape:'html'}_{$cle2|escape:'html'}" name={$cle} type="checkbox" indeterminate onclick="d_c_selector({$id_product|escape:'html'})"/>
    				{$attribut}{$list_ids = $list_ids|cat:{$id_product}|cat:'_'|cat:{$cle2}|cat:'|'} {/foreach}
    Le code java qui intervient sur la fonction ONCLICK est le suivant :

    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
    function d_c_selector(id_product)
    	{
     
    	var list_ids = document.getElementById("list_ids_" + id_product).value;
    	var longueur = list_ids.length;
    	list_ids = list_ids.substring(0, longueur - 1);
     
    	var ids = list_ids.split('|');
     
    	for(var j=0; j<document.getElementsByClassName("combi_" + id_product).length; j++)
     
    		if(document.getElementsByClassName("combi_" + id_product)[j])
    			document.getElementsByClassName("combi_" + id_product)[j].style.display = "table-row";
     
    			for(var i=0; i<ids.length; i++)
    			{
    				if(document.getElementById(ids[i]).checked) 
    					{
    					}
    				else
    					{
    					for(var j=0; j<document.getElementsByClassName(ids[i]).length; j++)
    						if(document.getElementsByClassName(ids[i])[j])
    							document.getElementsByClassName(ids[i])[j].style.display = "none";
    					}
     
    			}
    		}
    Mon probl�me c'est que pour un groupe pour lequel aucune variable n'est s�lectionn� alors aucun r�sultat n'est visible car le groupe est restrictif.

    Pouvez-vous m'aider pour que lorsque pour un groupe aucune variable n'est "checked" alors le groupe ne soit pas restrictif sur les r�sultats affich�s.

    Merci de votre aide.

  2. #2
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    O� est le HTML g�n�r� par le serveur ?
    je vois un truc qui ressemble vaguement � un m�lange de html et de je ne sais quoi

    du coup on ne fait pas � quoi s'applique le javascript.

    enfin peux tu expliquer � un neuneu comme moi quel est le probl�me car l� je n'ai rien compris.

    A+JYT

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    144
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 144
    Par d�faut
    Merci pour votre r�activit�. Voici le code html contenu dans le fichier TPL :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <input class="d_c_selector" id="{$id_product|escape:'html'}_{$cle2|escape:'html'}" name={$cle} type="checkbox" indeterminate onclick="d_c_selector({$id_product|escape:'html'})"/>
    la fonction d'appel est : onclick="d_c_selector({$id_product|escape:'html'}

    Je vais essayer �galement d'�tre plus clair en ce qui concerne mon explication. Mon formulaire dispose de diff�rents groupe de checkbox propres � des caract�ristiques.
    Si pour un groupe de caract�ristiques de couleur (par exemple) rien n'est s�lectionn� et que pour un autre groupe de gabarit le crit�re "petit" est s�lectionn�, les r�sultats devraient �tre : Petit & Blanc, Petit & Noir, Petit & Rouge. Actuellement le r�sultat est nul. Et c'est seulement si je fais le choix d'une couleur "Rouge", alors le r�sultat sera Petit & Rouge.

    Voici �galement un lien pour la page : http://materiel-levage.com/potences-...fil-creux.html

    J'esp�re que cel� vous aide.

  4. #4
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Ce que sekaijin te demande, et ce qui est indiqu� dans les r�gles de cette section, c'est d'avoir le code c�t� client, celui que tu vois en faisant clic droit / afficher la source sur ton navigateur. Si on a un m�lange de code serveur et de code client, on ne parviendra pas � cerner le probl�me.

  5. #5
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    Citation Envoy� par fisio Voir le message
    ...Je vais essayer �galement d'�tre plus clair en ce qui concerne mon explication. Mon formulaire dispose de diff�rents groupe de checkbox propres � des caract�ristiques.
    Si pour un groupe de caract�ristiques de couleur (par exemple) rien n'est s�lectionn� et que pour un autre groupe de gabarit le crit�re "petit" est s�lectionn�, les r�sultats devraient �tre : Petit & Blanc, Petit & Noir, Petit & Rouge. Actuellement le r�sultat est nul. Et c'est seulement si je fais le choix d'une couleur "Rouge", alors le r�sultat sera Petit & Rouge....
    Le r�sultat de quoi ?
    O� ?
    Quelle variable ?
    Comment lis tu les valeurs ?

    plus tu sera pr�cis sur ce qui ne fonctionne pas mieux on pourra t'aider.

    pour le moment on sait qu'il y a quelque part un truc dont on ne sais rien qui est null est ne de devrait pas l'�tre.
    on sais aussi qu'il y a un code HTML mais on ne le connait pas. et un Javascript qui est cens� s'y rattacher.

    �a fait maigre

    A+JYT

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    144
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 144
    Par d�faut
    J' ai communiqu� dans mon pr�c�dent mail l'adresse url du probl�me. Ainsi que le code HTML du fichier tpl du serveur qui lance la fonction java d_c_selector, et le code java de cette fonction.

    Merci encore pour cette aide car je ne suis pas d�veloppeur mais j'essaye de comprendre ces codes.

    D�tes moi exactement ce que vous avez besoin pour analyser mon probl�me. Le code source d'un des checkbox est :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <input class="d_c_selector" id="169_196" type="checkbox" indeterminate onclick="d_c_selector(169)"/>
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    </section></div></div><h3 class="page-product-heading">Déclinaisons</h3><table class="table_d_c"><tr><td><p><p><p style="float: left;"><form name=CMU (Kg)> <span class="attribut_name">CMU (Kg)</span> :</p></p><p><p style="float: left;"><style type="text/css">#uniform-169_166{ display: inline;}</style><input class="d_c_selector" id="169_166" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 50<style type="text/css">#uniform-169_193{ display: inline;}</style><input class="d_c_selector" id="169_193" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 80<style type="text/css">#uniform-169_181{ display: inline;}</style><input class="d_c_selector" id="169_181" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 150<style type="text/css">#uniform-169_186{ display: inline;}</style><input class="d_c_selector" id="169_186" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 250<style type="text/css">#uniform-169_190{ display: inline;}</style><input class="d_c_selector" id="169_190" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 500<style type="text/css">#uniform-169_177{ display: inline;}</style><input class="d_c_selector" id="169_177" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 1000<style type="text/css">#uniform-169_182{ display: inline;}</style><input class="d_c_selector" id="169_182" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 1600<style type="text/css">#uniform-169_184{ display: inline;}</style><input class="d_c_selector" id="169_184" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 2000</p></p> <br> </br></form><p><p style="float: left;"><form name=Portée (m)> <span class="attribut_name">Portée (m)</span> :</p></p><p><p style="float: left;"><style type="text/css">#uniform-169_168{ display: inline;}</style><input class="d_c_selector" id="169_168" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 2<style type="text/css">#uniform-169_167{ display: inline;}</style><input class="d_c_selector" id="169_167" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 2.5<style type="text/css">#uniform-169_170{ display: inline;}</style><input class="d_c_selector" id="169_170" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 3<style type="text/css">#uniform-169_169{ display: inline;}</style><input class="d_c_selector" id="169_169" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 3.5<style type="text/css">#uniform-169_172{ display: inline;}</style><input class="d_c_selector" id="169_172" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 4<style type="text/css">#uniform-169_171{ display: inline;}</style><input class="d_c_selector" id="169_171" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 4.5<style type="text/css">#uniform-169_174{ display: inline;}</style><input class="d_c_selector" id="169_174" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 5<style type="text/css">#uniform-169_173{ display: inline;}</style><input class="d_c_selector" id="169_173" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 5.5<style type="text/css">#uniform-169_176{ display: inline;}</style><input class="d_c_selector" id="169_176" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 6<style type="text/css">#uniform-169_175{ display: inline;}</style><input class="d_c_selector" id="169_175" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 6.5<style type="text/css">#uniform-169_195{ display: inline;}</style><input class="d_c_selector" id="169_195" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 7<style type="text/css">#uniform-169_194{ display: inline;}</style><input class="d_c_selector" id="169_194" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 7.5<style type="text/css">#uniform-169_196{ display: inline;}</style><input class="d_c_selector" id="169_196" type="checkbox" indeterminate onclick="d_c_selector(169)"/> 8</p></p> <br> </br></form></p> <input type="hidden" id="list_ids_169" value="169_166|169_193|169_181|169_186|169_190|169_177|169_182|169_184|169_168|169_167|169_170|169_169|169_172|169_171|169_174|169_173|169_176|169_175|169_195|169_194|169_196|"/></td>

  7. #7
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Non, tu ne peux pas nous balancer une URL et des centaines de lignes de code minifi� en esp�rant qu'on va fouiller dans tout ce bric-�-brac pour r�soudre ton probl�me. Encore faudrait-il le comprendre, ton probl�me ! J'ai beau te relire plusieurs fois, je ne comprends rien. On n'est pas dans ta t�te, je ne vois m�me pas quelle partie du site que tu as mis en lien �a concerne. Ajoutons � cela que le code est bancal sur presque toutes les lignes, et m�lange du HTML, du CSS inline et ce qui semble �tre du templating serveur, je souhaite du courage et de la patience � celui qui voudra bien se d�mener pour t'aider. Moi, je passe mon tour...

Discussions similaires

  1. lier un liste � un groupe de checkbox
    Par sd110676 dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 09/08/2007, 12h18
  2. Evenement sur groupe de checkbox
    Par Freiya dans le forum Macros et VBA Excel
    R�ponses: 1
    Dernier message: 15/06/2007, 22h11
  3. [RJS] mise à jour ajax sur un groupe de checkbox
    Par gyome314 dans le forum Ruby on Rails
    R�ponses: 10
    Dernier message: 13/04/2007, 16h02
  4. cocher un groupe de checkbox et traitement php
    Par Morphleus dans le forum G�n�ral JavaScript
    R�ponses: 10
    Dernier message: 30/08/2006, 12h20
  5. validation form en fonction de plusieurs groupe de checkbox
    Par Steph777 dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 09/01/2006, 12h00

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