Bonjour
J'ai un formulaire avec une liste de checkbox que je souhaite désactiver (disabled) lorsqu'une checkbox principale est cochée et activer lorsque qu'elle est décochée.

A gauche la checkbox décochée, à droite cochée :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
      <input type="checkbox" class="noBorder"  name="chkPapier" id="chkPapier" onchange="chgChkPapier();" />
      <label for="chkPapier">Indiquez sur papier libre :</label><br /><input type="checkbox" class="noBorder" name="chkPapierNom" id="chkPapierNom" />
            <label for="chkPapierNom" id="lblPapierNom">nom, pr&eacute;nom, adresse</label><br />
            <input type="checkbox" class="noBorder"  name="chkPapierMail" id="chkPapierMail" />
            <label for="chkPapierMail" id="lblPapierMail">adresse mail</label>
            <br />
            <input type="checkbox" class="noBorder" name="chkPapierDateNaissance" id="chkPapierDateNaissance" />
            <label for="chkPapierDateNaissance" id="lblPapierDateNaissance">date de naissance</label><br />
            <input type="checkbox" class="noBorder" name="chkPapierAge" id="chkPapierAge" />
            <label for="chkPapierAge"  id="lblPapierAge">&acirc;ge</label>
La fonction Javascript appelée sur le onChange de la CheckBox principale.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
function chgChkPapier()
{	
	document.Etape2.chkPapierNom.disabled = !(document.Etape2.chkPapier.checked);
	document.Etape2.chkPapierMail.disabled = !(document.Etape2.chkPapier.checked);
	document.Etape2.chkPapierDateNaissance.disabled = !(document.Etape2.chkPapier.checked);
	document.Etape2.chkPapierAge.disabled = !(document.Etape2.chkPapier.checked);
};
Tout cela fonctionne à merveille, mis à part sous IE ou il faut cliquer quelque part sur la page pour que l'affichage se rafraichisse alors que sous les autres navigateurs l'affichage est rafraichi au clic sur la checkbox principale.
Une idée pour contrer ce bug?