JS: fonction + tableau pour afficher ≠ t

Fermé
Chantal FTW Messages postés 10 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 31 juillet 2009 - 4 avril 2009 à 14:29
Bonjour,

je voudrais grâce à une unique fonction, afficher des textes différents aux moyens de plusieurs boutons différents, un pour chaque :

j'ai écrit ceci, mais ça ne marche pas, quelqu'un pourrait-il m'aider, merci :

<html>
<body>

<script language="javascript">

// on crée un tableau 'clic'
var clic = new array();

// on défini la fonction afficher
function afficher(texte,id)
{

// on crée une variable lieu qui permettra d'afficher le texte la où l'on veut
var lieu = 'lieu' + id;

// si la variable contenue dans le tableau pour l'id n'existe pas, on la met à 'off'
if (!clic[id])
{
clic[id] = 'off';
};

//si la variable contenue dans le tableau pour l'id est à off, on affiche la variable texte
if (clic[id] == 'off')
{
document.getElementById(lieu).innerHTML = texte;
clic[id] = 'on';
exit;
}

//si la variable contenue dans le tableau pour l'id est à on, on affiche rien
if (clic[id] == 'on')
{
document.getElementById(lieu).innerHTML = '';
clic[id] = 'off';
exit;
};
}
</script>

<form action="">
<!-- on crée des boutons qui permettent, lorsque l'on clique dessus, d'executer la fonction afficher, avec chacun leur texte et leur id respectifs -->
<input type="button" onclick="afficher('mon texte 1', 'un');" value="mon texte 1">
<input type="button" onclick="afficher('mon texte 2', 'deux');" value="mon texte 2">
<input type="button" onclick="afficher('mon texte 3', 'trois');" value="mon texte 3">
</form>

<!-- on crée des divs avec des id qui serviront dans l'affichage, grâce à la variable lieu dans la fonction -->
<div id="lieuun"></div>
<div id="lieudeux"></div>
<div id="lieutrois"></div>

</body>
</html>