Afficher/ne pas afficher partie de formulaire
Bonjour à tous,
dans un formulaire html, j'ai un élément de type checkbox.
Si (et seulement si) cette case est cochée, je veux afficher d'autres champs. Sinon je ne veux pas qu'ils apparaissent.
Je ne connais pas le javascript. Il y aurait-il moyen avec un code assez simple de réaliser cela ?
Merci
Buvons un coup ma serpette est perdue ♫
Bonjour,
Si vous ne voulez pas que benne1 soit affiché, alors cachez-le dès sa création:
Code:
1 2
|
<input type="checkbox" value="unchecked" name="benne1" style="display:none"> |
Ensuite, il y a des petites erreurs de syntaxe. D'abord, vous récupérez un objet:
Code:
1 2
|
var objet = document.getElementById(benne1); |
Première erreur, l'avoir appelé "objet". C'est peut-être un mot réservé (object est réservé en tout cas). Deuxième erreur, c'est que getElementById, comme son nom l'indique, cherche l'objet selon un id et l'argument est une chaine de caractères:
Code:
1 2
|
var mon_objet = document.getElementById("benne1"); |
Ca fonctionnera sous IE mais normalement vous devez avoir un id sur votre checkbox.
Dans votre code, vous récupérez cet objet mais vous ne vous en servez jamais, vous le rerécupérez à chaque fois. :-/
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
function afficher()
{
var mon_objet = document.getElementById("benne1");
if(window.document.bennes.bennes.checked=true)
{
mon_objet.style.display = "block";
}
else
{
mon_objet.style.display = "none";
}
} |
Mais ce n'est toujours pas correct. Dans votre if, vous faites une assignation au lieu de faire une comparaison, et puis autant récupérer l'objet de la même manière (mais mettez leurs des id):
Code:
1 2
|
if(document.getElementById("bennes").checked==true) |