Changer un texte au clic en JavaScript

Résolu/Fermé
AceEye Messages postés 4 Date d'inscription mardi 12 mai 2009 Statut Membre Dernière intervention 12 mai 2009 - 12 mai 2009 à 11:30
 heimanuter - 26 oct. 2016 à 05:59
Bonjour,

Je souhaiterais créer un lien qui changerait à chaque clic du style : Ouvrir puis Fermer. Le but de ce lien est d'ouvrir un div caché et donc changer le texte du lien pour informer de ce qui est possible de faire.

J'ai déjà un petit code, mais ça ne fonctionne pas. Quelqu'un peut me donner un petit conseil ?

Voilà mon code :


<script type="text/javascript">
	function transformer(id){
		var texte = document.getElementById(id).innerHTML;
		if (texte=="Plus d'informations...") {
			document.getElementById(id).innerHTML = "Moins d'informations...";
		}
		else {
			document.getElementById(id).innerHTML = "Plus d'informations...";
		}
	}
</script>

<a href="javascript:visibilite('infos_1');" onclick="javascript:transformer(this);">Plus d'informations...</a>

<div id="infos_1" style="display:none;">
	Les informations à insérer
</div>



Merci d'avance à tous ! :)
A voir également:

2 réponses

Bonjour. Comment adapter ceci à un bouton du type une image flèche vers le bas, et dés qu'on appuie la flèche se transforme en flèche vers le haut ?

Merci.
1
ben85350 Messages postés 610 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 2 avril 2013 27
12 mai 2009 à 11:37
Salut !
C'est un lien (<a href =...) ou un bouton qui permet d'afficher ton div ?
0
AceEye Messages postés 4 Date d'inscription mardi 12 mai 2009 Statut Membre Dernière intervention 12 mai 2009
12 mai 2009 à 11:43
C'est bien un lien et non un bouton. Le lien affiche et cache le div, et son texte change en fonction de l'état du div (ouvert ou fermé). Dans mon code, je teste juste le texte du lien et en fonction, il se change en un autre...
0
ben85350 Messages postés 610 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 2 avril 2013 27 > AceEye Messages postés 4 Date d'inscription mardi 12 mai 2009 Statut Membre Dernière intervention 12 mai 2009
12 mai 2009 à 11:51
J'ai jamais tester avec un lien !
Essaie peut-être en faisant comme cela :
var texte = document.getElementById(id).value;
Avec id l'id de ton ton lien si je comprends bien
0
AceEye Messages postés 4 Date d'inscription mardi 12 mai 2009 Statut Membre Dernière intervention 12 mai 2009 > ben85350 Messages postés 610 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 2 avril 2013
12 mai 2009 à 12:02
Merci :)

Malheureusement, j'ai essayé et ça ne marche pas.

Pour un peu plus d'info, id est une variable qui stocke l'id du lien texte, mais sans que celui-ci en ai réellement un puisque je marque "this" quand j'appelle la fonction.

Si je fais ça, c'est qu'en fait, il y aura plusieurs bloc div cachés et donc, tout est généré dynamiquement avec des id uniques pour chaque div.

Je ne sais pas si je suis bien clair... Désolé :s
0
Sims' > AceEye Messages postés 4 Date d'inscription mardi 12 mai 2009 Statut Membre Dernière intervention 12 mai 2009
12 mai 2009 à 13:32
Hello,

Voici ton code corrigé, ton texte change...

<script type="text/javascript">
	function transformer(obj){
		var texte = obj.innerHTML;
		if (texte=="Plus d'informations...") {
			obj.innerHTML = "Moins d'informations...";
		}
		else {
			obj.innerHTML = "Plus d'informations...";
		}
	}
</script>

<a href="javascript:visibilite('infos_1');" onclick="javascript:transformer(this);">Plus d'informations...</a>

<div id="infos_1" style="display:none;">
	Les informations à insérer
</div>
0
AceEye Messages postés 4 Date d'inscription mardi 12 mai 2009 Statut Membre Dernière intervention 12 mai 2009 > Sims'
12 mai 2009 à 13:46
Oh yeah, super ! Merci beaucoup !

Bonne journée à toi ! :D

Adrian
0