function myVisibility(str) { ns4 = (document.layers)? true:false;
ie4 = (document.all)? true:false;
dom = (document.getElementById) ? true:false;
if (dom) document.getElementById('cacher').style.display = str;
else if (ie4)
document.all('cacher').style.display = str;
else if (ns4)
document.cacher.display = str; }
que tu appelles par myVisibility('none') ou myVisibility('block'); ...
si tu tiens absolument à faire 'oui'/'non' tu remplaces par :
function myVisibility(str) { str = (str == 'oui') ? 'block' : 'none';
// et le reste de la fonction pareil ...
// ...
haazheel
Super, c'est exactement ça... :jap: :jap:
Allez, une dernière question pour la route: j'ai fait deux scripts, un pour l'affichage, l'autre pour l'effacement, de cette balise <div>, que voici:
<script language="JavaScript">
function hidden()
{
ns4 = (document.layers)? true:false; //si le navigateur est Netscape Navigator 4
ie4 = (document.all)? true:false; // si le navigateur est Internet Explorer 4
dom = (document.getElementById)? true:false; //si le navigateur est Navigator 6 ou Explorer 5
if (dom) {
document.getElementById('cacher').style.display = "none";
}
else if (ie4){
document.all('cacher').style.display = "none"; }
else if (ns4){
document.cacher.display = "none";
}
}
</script>
<script language="JavaScript">
function visible()
{
ns4 = (document.layers)? true:false; //si le navigateur est Netscape Navigator 4
ie4 = (document.all)? true:false; // si le navigateur est Internet Explorer 4
dom = (document.getElementById)? true:false; //si le navigateur est Navigator 6 ou Explorer 5
if (dom) {
document.getElementById('cacher').style.display = "block"; }
else if (ie4){
document.all('cacher').style.display = "block"; }
else if (ns4){
document.cacher.display = "block";
}
}
Je les appelle par:
<input type="radio" name="pratique" value="oui" onFocus="javascript:visible();" checked>
<b>Oui</b><br>
<input type="radio" name="pratique" value="non" onFocus="javascript:hidden();">
<b>Non </b>
Comment les combiner pour ne faire qu'une seule fonction, et les appeller par:
onFocus="javascript:cacher(oui);" pour cacher
ou onFocus="javascript:cacher(non);" pour faire apparaître
??
Merci
youdontcare
"display : none " au lieu de hidden. block pour faire réapparaître.
haazheel
up!!
haazheel
Bon, ok ça marche, mais:
quand le visiteur clique sur le radio 'non', tout ce qui se trouve dans la balise <div...> disparaît. Cette balise contient un tableau. Et cette balise est dans une cellule de tableau.
Mais quand la balise "se cache", la ligne du tableau dans laquelle se trouve la balise garde la même taille, occasionnant un gros trou dans le formulaire.
Comment, quand le div disparaît, rétrécir la ligne du tableau?
Tiens, au fait, c'est quoi le contraire de onSelect en javascript?
[edtdd]--Message édité par haazheel--[/edtdd]
ethernal
une petite recherche sur "visibility te donnera des merveilles ;)
ethernal
une petite recherche sur "visibility te donnera des merveilles ;)
haazheel
Comme je connais pas le javascript, j'ai commencé par tout simple:
onClick="this.form.textfield.focus()"
met le curseur dans le champ textfield quand je clique sur une case à cocher.
J'ai vu un terme javascript nommé visibility qui permet de cacher ou de faire apparaître tout ce qui se trouve entre deux <div> par exemple. Mais j'ai tenté ça:
Mais rien à faire ça marche pas. J'ai même un message d'erreur me disant ";" attendu.
HELP!!!
[edtdd]--Message édité par haazheel--[/edtdd]
haazheel
personne n'a déjà fait ça??
avec les attributs visibility...?
[edtdd]--Message édité par haazheel--[/edtdd]
haazheel
Salut,
comment je peux choisir de faire apparaître une partie d'un formulaire si le visiteur choisit oui, et inversement de le faire disparaître si il clique sur non? :??: