cacher un champs formulaire si checkbox n'est pas coché.

guy
Eléphant du PHP | 134 Messages

07 juil. 2005, 10:25

bonjour
j'ai un formulaire dans lequel je voudrait cacher un champ select si un checkbox n'est pas coché
Je supose que c'est possible en js mais je suis null en js est ce que quelqu'un pourrait m'aider ?
Guy

Eléphant du PHP | 92 Messages

07 juil. 2005, 10:42

tu peux faire un script qui va tester et modifier l'affichage de ton select.
Pour interdire l'affichage d'un select, tu peux utiliser la propriété css: display

ca donne ceci:
<select style="display:none">
pour ne pas l'afficher et
<select style="display:always">
poiur l'afficher

tu modifies cette propriété en fonction du onClick de ta case à cocher et cela dvrait fonctionner.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

07 juil. 2005, 10:58

Déjà display ne peut pas prendre comme valeur always :lol:
mais
inline | block | none | inherit
Display ne réserve pas la place pour l'élément, ça peut décaler ta présentation :)

Sinon il existe visibility : hidden | visible
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

guy
Eléphant du PHP | 134 Messages

07 juil. 2005, 11:43

ont uiliseras donc visibility !
mais comment mettre cela en oeuvre en JS?
Guy

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

07 juil. 2005, 11:57

Code : Tout sélectionner

function derouleMenu(num){ if(document.getElementById('menu'+num).style.visibility == 'hidden'){ document.getElementById('menu'+num).style.visibility = 'visible'; document.getElementById('lien'+num).style.backgroundColor = '#001699'; fSwapSelect('menu'+num); }else{ document.getElementById('menu'+num).style.visibility = 'hidden'; document.getElementById('lien'+num).style.backgroundColor = '#001699'; } } function cacheMenu(num){ document.getElementById('menu'+num).style.visibility = 'hidden'; document.getElementById('lien'+num).style.backgroundColor = '#001699'; fSwapSelect('menu'+num); }
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

guy
Eléphant du PHP | 134 Messages

08 juil. 2005, 09:56

bonjour
je suis desolé mais meme avec tout ces elements je suis incapable de mettre cela en oeuvre.
pourrait tu me donner un exemple concret sur un petit formulaire du type
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>
<body>
<form action="test2" method="post" name="test">
<table>
<tr>
<td><input type="checkbox" name="check"/><td><select name="select">
					 								 													 <option value="1">1</option>
																										 <option value="2">2</option>
																										 </select>
<tr><td>du texte<td><input type="text" name="texte" value=""/>
<tr>
<td><input type="submit" /><td><input type="reset" />
</table>
</form>
</body>
</html>
en cachant le select si checkbox n'est pas coché
Je sais j'exagere :)
Guy

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

08 juil. 2005, 10:23

pourrait tu me donner un exemple concret sur un petit formulaire du type
Non. [-X
Je te livre mes fonctions faites à la main, par mes doigts agiles, hyper bien programmées et belles, et EN PLUS, il faudrait que je les adapte à ton cas ?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

08 juil. 2005, 10:26

j'ai un formulaire dans lequel je voudrait cacher un champ select si un checkbox n'est pas coché
Tu prends un papier, un crayon et tu fais un schéma de ton programme : ce que tu veux, avec les SI/AUTREMENT

guy
Eléphant du PHP | 134 Messages

08 juil. 2005, 10:30

ca y est j'ai trouvé !!!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
<script language="JavaScript">
<!--
function montrer_cacher(laCase,leCalk,leCalk2)
{
    if (laCase.checked) //la case est cochée -> on montre le calque
    {
        document.getElementById(leCalk).style.visibility="visible";
				document.getElementById(leCalk2).style.visibility="visible";
    }
    else //la case n'est pas cochée -> on cache le calque
    {
        document.getElementById(leCalk).style.visibility="hidden";
				document.getElementById(leCalk2).style.visibility="hidden";
    }
} 
</script>
</head>


<body>
<form action="test2" method="post" name="test">
<table>
<tr>
<td><input type="checkbox" name="check" onClick="montrer_cacher(this,'cluster')"/>
<td><select name="select"ID="cluster">
					 				<option value="1">1</option>
									<option value="2">2</option>
													</select>
<tr><td>du texte<td><input type="text" name="texte" value=""/>
<tr>
<td><input type="submit" /><td><input type="reset" />
</table>
</form>
</body>
</html>