Version complète: sur le forum Webmaster Hub : Javascript - Fonction ToutCocher
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Scripts et utilitaires
NerOcrO
Salut,

Voici ma fonction JS pour cocher/décocher des checkbox :
CODE
function toutCocher(formulaire,nom)
    {
 nbr=(formulaire.elements.length)/7;
 for(i=0;i<nbr;++i)
 {
     if(formulaire.nom+i+.substring(0,nom+i+.length) == nom+i)
   formulaire.nom+i+.checked = !formulaire.nom+i+.checked;
 }
    }
</script>


Pour la partie HTML, j'ai un lien avec cette fonction qui envoie document.getElementById('content') pour la variable formulaire et cbX (X étant incrémenté pour toutes les checkbox) pour la variable nom.

Donc ce code ne fonctionne pas, j'vois pas pourquoi.
De plus quand je fais alert(formulaire.nom+i); -> j'ai undefined alors que si je marque alert(formulaire.cb0);, ça fonctionne.
Merci par avance.
astrofiles
Personnellement j'utilise le code suivant, peut être cela t'aidera

En supposant que ton checkbox s'intitule choix
CODE
<input type=\"checkbox\" name=\"choix[]\"  .....


le lien pour tout selectionner sera
CODE
...... onclick=\"selectAll(this.form('choix[]'),true)\">


et la fonction javascript
CODE
function selectAll(cbList,bSelect) {
 for (var i=0; i<cbList.length; i++)
   cbList[i].selected = cbList[i].checked = bSelect
}



Voila smile.gif
NerOcrO
Justement non, mes 'name' sont du style cb0, cb1, cbX, comme dit plus haut.
Mais ce n'est pas grave, j'ai résolu mon problème en utilisant 'elements' de javascript.
NorSeb
Salut,

Au lieu de faire :
CODE
for(i=0;i<nbr;++i)
{
 if(formulaire.nom+i+.substring(0,nom+i+.length) == nom+i)
  formulaire.nom+i+.checked = !formulaire.nom+i+.checked;
}


je ferais ca :
CODE
var case;

for(i=0;i<nbr;++i)
{
 case = 'formulaire.nom'+i;
 if(case.substring(0,nom+i+.length) == 'nom'+i)
  case.checked = !fcase.checked;
}
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.