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 ! :)

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