Commentaire(s) Montrer ou cacher un bloc de texte avec getElementById
- Retour au Tutoriel : « Montrer ou cacher un bloc de texte avec getElementById »
Commentaire(s)
- #148 Commentaire de Ralf posté le 09/11/10 à 07:59:58 :

-
Bonjour, mais que faut-il mettre entre les balises <head> et </head> pour que cela fonctionne ?
- #149 Commentaire de c00lman posté le 09/11/10 à 14:48:19 :

-
Salut Ralf,
Il n'y a rien d'autre à mettre en place ou que ce soit, juste un copié/collé .
- #150 Commentaire de Ralf posté le 10/11/10 à 05:24:26 :

-
Bonjour cOOlman,
J'ai testé plusieurs scriptes et ai testé le tien. J'ai mis en application tes conseils sans faire du copié/collé car je préfère retaper le code afin d'apprendre et laisser des traces dans ma mémoire ( je suis un peu maso c'et vrai ) . Contrairement à d'autres scriptes celui-là est très simple et fonctionne à merveille. D'autant plus que j'avais à cacher plusieur div sur la même page. Merci pour ce partage. Bien cordialement Ralf.
- #151 Commentaire de c00lman posté le 10/11/10 à 10:32:08 :

-
De rien
.
Une autre façon de faire :
<script language="javascript" type="text/javascript">
function bascule(elem)
{
etat=document.getElementById(elem).style.display;
if(etat=="none"){
document.getElementById(elem).style.display="block";
}
else{
document.getElementById(elem).style.display="none";
}
}
</script>
<a href="" onclick="bascule('1'); return false;">Texte</a>
<div id='1' style='display:none;'>
<p>Ton texte.</p>
</div>
<a href="" onclick="bascule('2'); return false;">Texte</a>
<div id='2' style='display:none;'>
<p>Ton texte.</p>
</div>
C'est ce que j'utilise dans les pages de mes catégories.
- #514 Commentaire de gaolinch posté le 11/11/11 à 07:35:38 :

-
Salut,
j'utilise un script similaire au tien pour cacher montrer mes div.
Lorsque je fais la declaration des div en statique, pas de probleme - tout s affiche et tout se cache.
Par contre, lorsque je construis mes div en dynamique PHP, la je n'arrive plus à acceder à mon div via GetElementById()...
le module developpeur de firefox me donne cette erreur :
Error: document.getElementById("blockCG") is null
Source File: http://localhost:8888/boutiqueLaballe/Laballe/admin/listeproduit
Line: 609
je genere mes div avec le code PHP suivant :
apres execution de la requete ma boucle est :
$nbcat=mysql_num_rows($reqcat);
for($l=0;$l<=$nbcat-1;$l++)
{
$data_cat = mysql_fetch_array($reqcat);
echo "<div id=\"block".$data_catfiltre[code]."\" style=\"display:block\" >".$data_cat[nom];
....
echo "</div>"
}
le code source genere me semble bon (exemple pour le DIV 'CG')
<div id="blockCG" style="display:block" >TXT_PRODUIT_TL
......
</div>
Enfin j appelle ma fonction JS via des checkbox creees en dynamique egalement - code source genereé pour la creation des checkbox :
<div ><table align="center" border=1 width="80%">
<tr>
<td><input type="checkbox" id="TL" checked onClick="GereAffichage('TL');">TXT_PRODUIT_TL</td>
<td><input type="checkbox" id="CG" checked onClick="GereAffichage('CG');">TXT_PRODUIT_CG</td> </tr>
</table>
</div>
et ma fonction JS d affichage placee dans le head :
<SCRIPT LANGUAGE="JavaScript">
function GereAffichage(idbox)
{
var nomblock = 'block'+idbox;
//alert(nomblock);
if (document.getElementById(idbox).checked==true)
document.getElementById(nomblock).style.display="block";
else
document.getElementById('blockTL').style.display="none";
return true;
}
</script>
Mon script pour cacher les div est place dans le Head, et la generation du code php se fait dans le body.
N'y a t il pas un probleme de creation de d element au chargement de la page ?
J ai essaye de mettre ma fonction JS en bas de page dans le body mais j ai toujours le meme probleme. le javascript ne trouve pas mon element div...
Aurais tu une idee pour resoudre mon probleme ? Merci de ton aide,
Gaolinch
- #515 Commentaire de c00lman posté le 11/11/11 à 09:35:59 :

-
Bonjour gaolinch,
Je suis une pure "brele" en Javascript et je crains ne pas t'être d'une grande utilitée sur ce coup la
.
Ceci dit, l'erreur te dit clairement que tu as un id null et pour moi ça signifie qu'il est vide. Est ce que ton erreur ne viendrait pas de ta boucle "for" et notament de la ligne " $data_catfiltre[code]"?
- #690 Commentaire de Reinette posté le 21/04/12 à 12:43:06 :

-
Bonjour,
script très pratique ! merci !
je souhaiterai y ajouter un fade dans l'apparition que je trouve un peu brusque... je débute en javascript, donc, je patouille.. c'est possible ?
Merci !
- #691 Commentaire de c00lman posté le 21/04/12 à 19:16:04 :

-
Salut Reinette,
Alors oui ça doit être possible mais je suis aussi très mauvais en Javascript. Je pense qu'il faudrait jetter un oeil du côté de la librairie JQUERY.



