OnClick, deux actions javascript

Résolu
Chantal FTW Messages postés 11 Statut Membre -  
 Cedk06 -
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>
Configuration: Mac OS X
Safari 528.16

4 réponses

  1. Cedk06
     
    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
  2. atspinto Messages postés 338 Date d'inscription   Statut Membre Dernière intervention   27
     
    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
  3. chupa23 Messages postés 152 Statut Membre 28
     
    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
  4. Chantal FTW Messages postés 11 Statut Membre 1
     
    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