Comment afficher + de lignes en JS ?

Résolu/Fermé
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 - 29 août 2007 à 18:28
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 29 août 2007 à 21:29
Bonjour à tous,

En essayant de trouver le moyen de cacher/afficher une phrase en cliquant sur un mot, je suis tomber là-dessus :
http://www.jsmadeeasy.com/javascripts/IE5%20Scripts/visibility/template.htm

C'est super que le JS ne soit pas trop lourd, mais je ne peux afficher qsue 2 mots, or il en faudrait 4 et une phrase sur chaque.

Le code est :
<HTML>
<HEAD>

<SCRIPT LANGUAGE=JAVASCRIPT>
function highlightButton(s) {
if ("INPUT"==event.srcElement.tagName)
event.srcElement.className=s
}
</SCRIPT>

</HEAD>
<BODY>

<P style="color:blue" onclick="document.all.v.style.visibility= document.all.v.style.visibility=='hidden' ? '' : 'hidden'">Question 1</P>
<P id=v style="visibility:hidden">Réponse 1</P>

<P style="color:blue" onclick="document.all.d.style.display= document.all.d.style.display=='none' ? '' : 'none'" title="">Question 2</P>
<P id=d style="display:none">Réponse 2</P>

<!--
<P style="color:blue" onclick="document.all.d.style.display= document.all.d.style.display=='none' ? '' : 'none'" title="">Question 3</P>
<P id=d style="display:none">Réponse 3</P>

<P style="color:blue" onclick="document.all.d.style.display= document.all.d.style.display=='none' ? '' : 'none'" title="">Question 4</P>
<P id=d style="display:none">Réponse 4</P>
...
-->
</BODY>
</HTML>

Pour les 2 premières, ça marche, mais quand j'ajoute un autre mot, y a une erreur et rien ne va !

Comme je suis vraiment nul en JS, pourriez-vous m'aider en me disant ce qu'il faut faire ?

Merci d'avance.

3 réponses

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
29 août 2007 à 20:17
salut,

JavaScript repère chaque '<p>' grâce à un identifiant unique. c'est l'attribut 'id'.
mais il faut que cet identifiant reste unique…

par ailleurs il faut encadrer la valeur avec des guillemets et mieux vaut utiliser une valeur explicite plutôt qu'une simple lettre.
<P style="color:blue" onclick="document.all.reponse1.style.visibility= document.all.reponse1.style.visibility=='hidden' ? '' : 'hidden'">Question 1</P>
<P id="reponse1" style="visibility:hidden">Réponse 1</P>

<P style="color:blue" onclick="document.all.reponse2.style.display= document.all.reponse2.style.display=='none' ? '' : 'none'" title="">Question 2</P>
<P id="reponse2" style="display:none">Réponse 2</P>

<P style="color:blue" onclick="document.all.reponse3.style.display= document.all.reponse3.style.display=='none' ? '' : 'none'" title="">Question 3</P>
<P id="reponse3" style="display:none">Réponse 3</P>

<P style="color:blue" onclick="document.all.reponse4.style.display= document.all.reponse4.style.display=='none' ? '' : 'none'" title="">Question 4</P>
<P id="reponse4" style="display:none">Réponse 4</P> 

0
Salut Mathieu,

Merci grandement pour ton aide.

Ca marche impec sous FF et IE, les autres, je sais pas.

Affaire classée.

Grand merci à tout ceux qui m'ont aidé à résoudre ce problème.
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
29 août 2007 à 21:29
content d'avoir pu t'aider.

bonne route !
0