L'éditeur JavaScript
Visiteur non-identifié | Identifiez-vous | Devenir membre
Code perdu ? | Combien de visiteurs sur votre site ?
Rechercher :
Page d'accueil
     Home Page

JavaScript
     Tous les scripts
     Proposer un script
     Recherche de script
     AJAX new!
     Cours de JavaScript
     Liste de discussion
     Forums

Services :
     CountUs
     myCircle

     Referencement
     Créat. de bannière

Trucs et astuces :
     HTML / CSS
     PHP / MySQL
     Réferencement
     Graph / Présentation
     Toutes les astuces
     Ajouter un article

MailingList :
101087 abonnés

Annuaire webmaster :      Hebergement web
     Referencement
     Sites webmasters
     XHTML - CSS2
     PHP
     Affiliation - Pub
     FAI

     Annuaire webmaster

Ressources pour webmasters :
     Kits graphiques

Plus :
     Comparateur de prix
     Foire aux questions
     Les membres
     Devenir annonceur
     Faire un lien
     Contact

Partenaire :
     Hebergement gratuit
     Le PHP facile
     Horoscope
     Comscripts
     WebmasterClub
     Activeartanima...
     Le village de ...
     L'écriteau
     Faro-dessing
     Images gifs an...
     Easy-script.com
     Création de site
     Netsources
     Créer son site...
     K i s s design
     Les autres
     Votre site ici ?


Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]


[ Forums >> JavaScript >> Problèmes sur les cours de JavaScript >> script tout cocher/decocher ]

> script tout cocher/decocher
[ Posté par logone ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 10-10-2007 à 12:08 | 4 messages ]

salut,

J'ai trouve sur le site un script qui m'interesse mais qui par mon manque de connaissance ne fonctionne pas a 100% ci joint le script

<!--
// ==========================
// Script réalisé par Eric Marcus - Aout 2006
// ==========================

// conteneur = id du bloc (<div>, <p> ...) contenant les checkbox
// a_faire = '0' pour tout décocher
// a_faire = '1' pour tout cocher
// a_faire = '2' pour inverser la sélection

function GereChkbox(conteneur, a_faire)
{
var blnEtat=null;
var Chckbox = document.getElementById(conteneur).getElementsByTagName('input');
for (i in Chckbox)
{
if (Chckbox[i].nodeName=="INPUT")
if (Chckbox[i].getAttribute("type")=="checkbox") {
blnEtat = (a_faire=='0') ? false : (a_faire=='1') ? true : (document.getElementById(Chckbox[i].getAttribute("id")).checked) ? false : true;
document.getElementById(Chckbox[i].getAttribute("id")).checked =blnEtat;
}
}
}
//-->


et mes boxs pour exemple
<input name="paye[<?php echo $i; ?>]" type="checkbox" value="Y" id="paye[]" checked="checked"/>


voici les boutons pour cocher decocher

<input type="button" class="Style2" onclick="GereChkbox('div_chck','1');" value="Tout cocher" />


ca fonctionne mais mes boxs sont dans un tableau PHP qui boucle suivant le nombre de resultat et donc qui creer un <table> a chaque fois.

le script detecte la presence du conteneur et le nom de la balise div dans mon exemple je me retrouve avec 2 balises div portant le meme nom mais cela ne fontionne pas.
seule la 1ere balise est prise en compte.

J'espere que quelque'un pourra m'aider.

Merci par avance.





[ Posté par EricM ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 10-10-2007 à 12:24 | 4147 messages ]

Bonjour,
cette ligne
<input name="paye[<?php echo $i; ?>]" type="checkbox" value="Y" id="paye[]" checked="checked"/>
laisse supposer que tu auras des ID dupliqués, contrairement aux name qui seront uniques.
Or ce sont les ID qui doivent être uniques

... sinon, c'est le bugg

As-tu essayé d'inverser ces 2 références (=> utiliser ta valeur actuelle de "name" pour l'ID et inversement) ?

A+

[Message édité par ericm le 10-10-2007 à 12:25]


________________
L'échec est le fondement de la réussite.
- Lao Tseu -

[ Posté par logone ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 10-10-2007 à 12:31 | 4 messages ]

Salut,

J'ai bien essayé ce que tu m'as dit mais cela ne change rien
en faite pour schematiser voici ce que donne le html

<div id =div_chck>

Le contenu avec les check box

</div>

<div id =div_chck>

Le contenu avec les check box de la seconde ligne de mon tableau PHP

</div>


En faite je pense que c'est la que ca bloque mais je comprends pas trop.

Merci de ton aide



[Message édité par logone le 10-10-2007 à 12:31]


[ Posté par EricM ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 10-10-2007 à 13:35 | 4147 messages ]

logone a dit
<div id =div_chck>

Le contenu avec les check box

</div>

<div id =div_chck>

Le contenu avec les check box de la seconde ligne de mon tableau PHP

</div>
...je comprends pas trop.

EricM a dit
ce sont les ID qui doivent être uniques

... sinon, c'est le bugg


, donc !

A+

________________
L'échec est le fondement de la réussite.
- Lao Tseu -

[ Posté par logone ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 10-10-2007 à 14:07 | 4 messages ]

En faite j'ai 2 blocs de div mais qui portent le meme nom et ce parceque ce tableau est dans une boucle PHP.

A chaque resultat je creé un <table> en faite.

Je sais pas si je me fait comprendre

en faite je pense que le soucis viens de la
var Chckbox = document.getElementById(conteneur).getElementsByTagName('input');


ou conteneur contient l'id du div mais ne prend que le 1er id les autres sont ignoré.

Merci



[ Posté par EricM ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 10-10-2007 à 15:54 | 4147 messages ]

logone a dit
Je sais pas si je me fait comprendre

Heu ... si si, tu te fais bien comprendre


Mais as-tu lu (et compris) ma réponse ?

Tu as 2 div ayant id =div_chck et c'est interdit !!!

... enfin, tu peux laisser, mais ton script ne marchera pas car le simple fait d'avoir 2 id identiques dans la même page plante ton script.

J'ai bien compris ton pb de boucle PHP, mais y a pas : il faut faire autrement

PAr exemple, ajoute un compteur qui te permettras de générer :
id =div_chck1
puis
id =div_chck2
etc.

Je sais pas si je me fais comprendre

A+

________________
L'échec est le fondement de la réussite.
- Lao Tseu -

[ Posté par logone ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 10-10-2007 à 16:13 | 4 messages ]

ok j'ai compris le soucis avec ton histoire de boucle c'est que je peux avoir 50 60 lignes ca me semble pas gagné cette histoire

merci de ton aide


[ Posté par EricM ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 10-10-2007 à 16:20 | 4147 messages ]

logone a dit
ok j'ai compris le soucis avec ton histoire de boucle c'est que je peux avoir 50 60 lignes ca me semble pas gagné cette histoire

Pas de problème :
id =div_chck50

fonctionnera aussi bien ...

EDIT : ou plutôt
id ="div_chck50"
car les attributs html doivent être entre quotes
A+

[Message édité par ericm le 10-10-2007 à 16:21]


________________
L'échec est le fondement de la réussite.
- Lao Tseu -

[ Posté par lucas34 ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 02-01-2008 à 12:36 | 45 messages ]

http://www.lucasweb.fr.tc/

________________
http://www.lucasweb.fr.tc/




Services email :

Vous devez vous identifier pour profiter des services par email du forum.
Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]






9 visiteurs
actuellement en ligne

    PUBLICITE



     ANNUAIRE WEBMAST.
iFrance Pro
Reposant sur une plateforme technique vraiment performante, iFrance pro propose des offres vraiment tres interessantes, nom de domaine offert, à partir de 5 € / mois !
http://www.ifrancepro.com/
Cat : Hebergement web
Voir l'annuaire webmaster


     LES SCRIPTS :
78 à éditer
68 à copier/coller
247 des membres
2580 sur le web
>> Tous les scripts

     LES MEMBRES :
54416 membres
9050 comptes CountUs
1420 comptes myCircle

     LES FORUMS :
14 forums
39081 topics
188346 messages
>> Les forums

    SONDAGE

Vous avez un blog ou site classique ?
Un blog
Un site classique
Les deux !
La mini-astuce "Referencement" du jour par cybermax
Référencement Flash : comment référencer un site web réalisé en Flash ?
Tapez l'adresse de votre animation Flash ci-dessous :
http://www.flash-moteurs.com
Proposer votre mini-astuce | Archives des mini-astuces
© 1999-2008 K-NETWORK - Tous droits réservés | CNIL N° 844440 | 20/07/2008 06:39:55 | Design by Studcrea | Gen. en 0.453 sec.