OnClick, deux actions javascript

Résolu/Fermé
Chantal FTW Messages postés 10 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 31 juillet 2009 - 28 mars 2009 à 22:27
 Cedk06 - 13 oct. 2009 à 08:48
Bonjour,

J'ai un bouton qui me permet grâce à un OnClick et javascript, de faire apparaître un texte. Mais le problème, c'est que je voudrais, une fois que le texte est affiché, le faire disparaître, en cliquant sur le même bouton. Comment faire ???

voici mon code :

<script language="javascript">
function affichertexte (texte, lieu)
{
if(document.getElementById)
document.getElementById(lieu).innerHTML = texte;
}
</script>

<input type="button" value="afficher/masquer le texte" onclick="affichertexte('mon texte', 'ici')">

<div id="ici"></div>

4 réponses

Pourquoi pas un truc du genre :
fonction afficheMasque(texte, lieu)
{
if (document.getElementById(lieu).innerHTML == texte)
document.getElementById(lieu).innerHTML = ' '
else
document.getElementById(lieu).innerHTML = texte;
}
3
atspinto Messages postés 338 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 8 août 2014 27
28 mars 2009 à 23:16
je sais pas trop .. mais pr faire simple...
tu mets 2 boutons... l'un permettant de masquer l'autre...

là t'auras des actions à definir pour chacun d'entre eux..
2
chupa23 Messages postés 149 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 20 juillet 2009 28
28 mars 2009 à 23:23
Directement je vois pas comment faire , sinon tu peux faire un truc a l'arrache , c'est a dire tu créer une variable 'clic' de base elle vaut 0 , quand tu appui , elle passe a un .Tu fais ensuite un if sur la variable 'clic' si elle vaut 1 alors tu supprime le contenu et tu la repasse a 0.
Ca donnerait un truc du genre : ( c est plus un algo que du javascript ! : le code ne tourne surement pas mais ca te donne l'idée)

<script language="javascript">
function affichertexte (texte, lieu)
{
if(document.getElementById) 
{
document.getElementById(lieu).innerHTML = texte;
clic = 1;
}
}
if (clic == 1)
{
document.getElementById(lieu).innerHTML = ' ';
clic = 0;
}
</script> 

1
Chantal FTW Messages postés 10 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 31 juillet 2009 1
29 mars 2009 à 12:18
merci, j'ai arrangé un peu tout ça, et ça marche :

<script language="javascript">
clic = 0;
function affichertexte (texte, lieu)
{
if (clic == 0)
{
document.getElementById(lieu).innerHTML = texte;
clic = 1;
exit;
}
if (clic == 1)
{
document.getElementById(lieu).innerHTML = '';
clic = 0;
exit;
}
}
</script>
<form action="">
<input type="button" value="afficher" onClick="affichertexte('mon texte', 'ici')">
</form>
<br />
<div id="ici">
</div>
1