[js] changer la valeur d'un onClick [Résolu/Fermé]

Signaler
Messages postés
120
Date d'inscription
mercredi 17 août 2011
Statut
Membre
Dernière intervention
12 février 2013
-
Tralala8
Messages postés
120
Date d'inscription
mercredi 17 août 2011
Statut
Membre
Dernière intervention
12 février 2013
-
Bonjour tout le monde.

Voila, j'ai un petit problème en javascript.

J'ai un lien comme ceci
<a onClick="maFonction(1)" id="aChanger">Lien</a>


Ce que j'aimerais faire, c'est changer la valeur du "onClick". Pour ça, j'ai cherché des solutions et pour le moment, mon code javascript ressemble à ça
function maFonction(action)
{
	switch(action)
	{
		case 0 :
			document.getElementById("aChanger").onclick=function(){maFonction(1)}
			alert('Eteint');
		break;
		
		case 1 :
			document.getElementById("aChanger").onclick= function(){maFonction(0)}
			alert('Allumé');
		break;
	}
}


Seul le premier clic sur mon lien fonctionne. Il m'affiche bien "Allumé". Par contre, lors du second clic, il ne se passe rien. Je ne sais plus trop quoi faire. Pouvez-vous m'aider ?

Merci d'avance à ceux qui pourront m'éclairer.

2 réponses

Messages postés
517
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
20 novembre 2011
153
En fait il faut passer par la méthode setAttribute :

<html>
	<head>
		<script language="javascript" type="text/javascript">
		function maFonction(alink,action)
		{
			switch(action)
			{
				case 0:
					alink.setAttribute('onclick',"maFonction(this,1);");
					alert('Eteint');
				break;
				case 1:
					alink.setAttribute('onclick',"maFonction(this,0);");
					alert('Allumé');
				break;
			}
			return false;
		}
		</script>
	</head>
	<body>
		<a href="javascript:void(0);" onClick="javascript:maFonction(this,1);" id="aChanger">Lien</a>
	</body>
</html>
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 84136 internautes nous ont dit merci ce mois-ci

Tralala8
Messages postés
120
Date d'inscription
mercredi 17 août 2011
Statut
Membre
Dernière intervention
12 février 2013
13
Merci infiniment supernico. Tout marche sans problème. Merci de ton aide.
Messages postés
517
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
20 novembre 2011
153
Tu as essayé avec :

document.getElementById("aChanger").onclick="maFonction(0);"

ou

document.getElementById("aChanger").onclick="Javascript:maFonction(0);"
Tralala8
Messages postés
120
Date d'inscription
mercredi 17 août 2011
Statut
Membre
Dernière intervention
12 février 2013
13
Oui, et cela me donne le même résultat.