par
Cyrano » 06 mai 2006, 12:51
Salut,
traite tes cases à cocher indépendament du nombre d'éléments dans le formulaire. Attribue à chaque case un identifiant qui lui soit propre et ensuite crée une fonction pour cocher ou décocher tout en utilisant un tableau pour stocker ces identifiants. Proposition exemple:
Code : Tout sélectionner
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />
<title>Cases à cocher</title>
<script type="text/javascript">
/* <![CDATA[ */
function toutCocher()
{
/* On vérifie si la case générale est ochée ou non */
var tout = document.forms['monform'].elements['cochetout'].checked;
/* On liste les cases à cocher individuelles */
var cases = new Array('coche1', 'coche2', 'coche3', 'coche4', 'coche5', 'coche6', 'coche7', 'coche8', 'coche9', 'coche10');
/* Si la case générale est cochée, on coche toutes ls individuelles */
if(tout == true)
{
for(num in cases)
{
document.forms['monform'].elements[cases[num]].checked = true;
document.getElementById('labelGen').innerHTML = 'Tout décocher'
}
}
/* sinon on décoche toutes les individuelles */
else
{
for(num in cases)
{
document.forms['monform'].elements[cases[num]].checked = false;
document.getElementById('labelGen').innerHTML = 'Tout cocher'
}
}
}
/* ]]> */
</script>
</head>
<body>
<form action="" method="post" id="monform">
<fieldset>
<label><span id="labelGen">Tout cocher</span> : <input type="checkbox" name="cochetout" id="cochetout" onclick="toutCocher();" /></label><br />
<label>Case 1 : <input type="checkbox" name="coche1" id="coche1" /></label><br />
<label>Case 2 : <input type="checkbox" name="coche2" id="coche2" /></label><br />
<label>Case 3 : <input type="checkbox" name="coche3" id="coche3" /></label><br />
<label>Case 4 : <input type="checkbox" name="coche4" id="coche4" /></label><br />
<label>Case 5 : <input type="checkbox" name="coche5" id="coche5" /></label><br />
<label>Case 6 : <input type="checkbox" name="coche6" id="coche6" /></label><br />
<label>Case 7 : <input type="checkbox" name="coche7" id="coche7" /></label><br />
<label>Case 8 : <input type="checkbox" name="coche8" id="coche8" /></label><br />
<label>Case 9 : <input type="checkbox" name="coche9" id="coche9" /></label><br />
<label>Case 10 : <input type="checkbox" name="coche10" id="coche10" /></label><br />
<input type="button" name="rien" id="rien" value="Bouton quelconque" /></label><br />
<input type="submit" name="envoi" id="envoi" value="Envoyer" /></label><br />
</fieldset>
</form>
</body>
</html>
Salut,
traite tes cases à cocher indépendament du nombre d'éléments dans le formulaire. Attribue à chaque case un identifiant qui lui soit propre et ensuite crée une fonction pour cocher ou décocher tout en utilisant un tableau pour stocker ces identifiants. Proposition exemple:
[code]<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />
<title>Cases à cocher</title>
<script type="text/javascript">
/* <![CDATA[ */
function toutCocher()
{
/* On vérifie si la case générale est ochée ou non */
var tout = document.forms['monform'].elements['cochetout'].checked;
/* On liste les cases à cocher individuelles */
var cases = new Array('coche1', 'coche2', 'coche3', 'coche4', 'coche5', 'coche6', 'coche7', 'coche8', 'coche9', 'coche10');
/* Si la case générale est cochée, on coche toutes ls individuelles */
if(tout == true)
{
for(num in cases)
{
document.forms['monform'].elements[cases[num]].checked = true;
document.getElementById('labelGen').innerHTML = 'Tout décocher'
}
}
/* sinon on décoche toutes les individuelles */
else
{
for(num in cases)
{
document.forms['monform'].elements[cases[num]].checked = false;
document.getElementById('labelGen').innerHTML = 'Tout cocher'
}
}
}
/* ]]> */
</script>
</head>
<body>
<form action="" method="post" id="monform">
<fieldset>
<label><span id="labelGen">Tout cocher</span> : <input type="checkbox" name="cochetout" id="cochetout" onclick="toutCocher();" /></label><br />
<label>Case 1 : <input type="checkbox" name="coche1" id="coche1" /></label><br />
<label>Case 2 : <input type="checkbox" name="coche2" id="coche2" /></label><br />
<label>Case 3 : <input type="checkbox" name="coche3" id="coche3" /></label><br />
<label>Case 4 : <input type="checkbox" name="coche4" id="coche4" /></label><br />
<label>Case 5 : <input type="checkbox" name="coche5" id="coche5" /></label><br />
<label>Case 6 : <input type="checkbox" name="coche6" id="coche6" /></label><br />
<label>Case 7 : <input type="checkbox" name="coche7" id="coche7" /></label><br />
<label>Case 8 : <input type="checkbox" name="coche8" id="coche8" /></label><br />
<label>Case 9 : <input type="checkbox" name="coche9" id="coche9" /></label><br />
<label>Case 10 : <input type="checkbox" name="coche10" id="coche10" /></label><br />
<input type="button" name="rien" id="rien" value="Bouton quelconque" /></label><br />
<input type="submit" name="envoi" id="envoi" value="Envoyer" /></label><br />
</fieldset>
</form>
</body>
</html>[/code]