Rechercher : dans
Par :

Changer un texte au clic en JavaScript

Dernière réponse le 12 mai 2009 à 13:46:53 AceEye, le 12 mai 2009 à 11:30:48 
 Signaler ce message aux modérateurs

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 ! :)
Configuration: Windows Vista
Firefox 3.0.10

Meilleures réponses pour « Changer un texte au clic en JavaScript » dans :
Javascript - Manipulation des contrôles clavier VoirManipulation des contrôles clavier Cette astuce a pour but de vous faire découvrir la (ou du moins une) manière de contrôler les évènements clavier en javascript. Cela vous permettra de contrôler/attribuer les/des comportements particuliers à...
Javascript - Librairies d'effets pour vos images VoirAu gré de vos explorations du web, vous avez vu de superbes effets de présentation des images. Et ça vous plairaît bien de pouvoir proposer les mêmes à vos visiteurs. Voici quelques solutions en Javascript couplées à des CSS. Elles sont plus...
Javascript - Les événements VoirQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...

1

ben85350, le 12 mai 2009 à 11:37:41

Salut !
C'est un lien (<a href =...) ou un bouton qui permet d'afficher ton div ?

Répondre à ben85350

2

AceEye, le 12 mai 2009 à 11:43:07

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...

Répondre à AceEye

3

ben85350, le 12 mai 2009 à 11:51:30

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

Répondre à ben85350

4

AceEye, le 12 mai 2009 à 12:02:48

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

Répondre à AceEye

5

Sims', le 12 mai 2009 à 13:32:47
  • +1

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>

Répondre à Sims'

6

 AceEye, le 12 mai 2009 à 13:46:53

Oh yeah, super ! Merci beaucoup !

Bonne journée à toi ! :D

Adrian

Répondre à AceEye
Collection CommentÇaMarche.net