Appel d'une fonction javascript dans un lien

sebicool Messages postés 32 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 12 décembre 2008 - 2 sept. 2008 à 12:32
tiranus Messages postés 9 Date d'inscription dimanche 1 juillet 2007 Statut Membre Dernière intervention 2 août 2011 - 5 nov. 2010 à 22:02
Bonjour,

je voudrais créer un lien qui fait appel à une fonction javascript...
J'ai vu que normalement, la syntaxe est la suivante : [javascript:MaFonction(); Lien]
Avec bien sûr, la fonction déclarée entre des balises <script Language="javascript"></script> le tout entre les balises <head></head>.

Mais lorsque je clique sur ce lien, une page s'ouvre avec l'url "javascript:MaFonction();" et n'appelle pas du tout MaFontion().
Savez vous d'où peut venir ce problème?

Merci pour vos réponse.
Cordialement,
Sebicool

15 réponses

bizibiz17 Messages postés 142 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 29 août 2009 1
2 sept. 2008 à 12:35
Salut,

[# ...]
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
2 sept. 2008 à 12:50
bonjour,

onclick j'aime pas trop, href est là pour ça.
( mais chacun ses goûts et la caravanne passe )

[javascript:void(maFonction()); lien]

sans le void(), ou avec onclick, après l'exécution de la fonction, les navigateurs exécutent
le href... donc dans notre cas, recharge la page.
donc utiliser void ou faire un return false;

CordialementBul[mon Site][M'écrire], <!--
0
bizibiz17 Messages postés 142 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 29 août 2009 1
2 sept. 2008 à 13:21
Exact j'y avais pas pensé...
0
sebicool Messages postés 32 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 12 décembre 2008
2 sept. 2008 à 13:33
Bonjour,

Tout d'abord, merci pour vos réponses.

J'ai essayé vos deux méthodes et malheureusement, aucune ne marche convenablement... Je m'explique:
- avec le void, ca m'ouvre une page avec l'url "javascript:void(maFonction());" (autrement dit pas de changement)
- avec le onclick, ca execute bien la fonction mais ca m'ouvre aussi une nouvelle page avec l'url de la page sur laquelle j'étais et un # à la fin

Y aurait-il quelque chose que j'ai mal fait?

Cordialement,
Sebicool
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebicool Messages postés 32 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 12 décembre 2008
2 sept. 2008 à 13:38
Sinon, j'ai pensé à une autre solution:
ne pas faire de lien avec les balises (comme ca pas de problème avec href) mais faire
un

  et lui donner l'apparence d'un lien (couleur bleu, souligné, et la main quand la souris passe dessus...)

Le problème est que je ne sais pas faire le changement d'apparence de la souris de flèche basique en main.
Quelqu'un sait?

Merci.
0
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
2 sept. 2008 à 13:39
Je suis d'accord avec Bultez, l'utilisation d'un evenement onclick sur un lien n'est pas recommandé (sauf dans certains cas).

Question bête : as tu activé Javascript ?
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
2 sept. 2008 à 13:46
à part la remarque judicieuse de XTremDuke... pas de raisons !

[javascript:void(alert('ok')); lien]

Cordialement        Bul     [mon Site]  [M'écrire], <!--
0
sebicool Messages postés 32 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 12 décembre 2008
2 sept. 2008 à 13:49
oui, javascript est bien activé...
0
sebicool Messages postés 32 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 12 décembre 2008
2 sept. 2008 à 13:56
J'ai fait un test en mettant un alert tout con a la place de l'appel de ma fonction [javascript:void(alert('coucou')); lien] comme Bultez l'a dit, et le résultat est le suivant :
 - l'alert est bien appelé (j'ai la popup qui s'ouvre)
 - mais j'ai aussi une page avec l'url "javascript:void(alert('coucou'));" qui s'ouvre!

Une idée?
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
2 sept. 2008 à 14:15
euh...    avec uniquement cette balise ? sans rien d'autre dans la page ?
oui : comprend pas... aucun navigateur ne réagit comme ça ( IE, FF, Opera, K-Meleon, Safari )
et ce, en faisant un copié/collé de ce que tu nous a mis...
au cas où un ch'tiot truc m'échapperait  !
Cordialement     Bul  [mon Site] [M'écrire], <!--
0
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
2 sept. 2008 à 16:31
Je penses que tu dois avoir une erreur JS quelque part. As-tu débugué ta page ? Il y a-t-il des erreurs signalées ?
Si non, utiliserais-tu un script du genre Lightbox et compagnie ? C'est scripts ajoutent des événements sur les ancres en générale, ça pourrait être une piste.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
2 sept. 2008 à 16:43
XTremDuke++
l'erreur est, probablement, ( au moins provoquée ) "ailleurs"
Cordialement     Bul  [mon Site] [M'écrire], <!--
0
bizibiz17 Messages postés 142 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 29 août 2009 1
2 sept. 2008 à 17:09
Euh pas pour moi...ça marche très bien
Montre ton code ça pourrait aider...
0
snopims Messages postés 2 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 12 novembre 2008
4 sept. 2008 à 22:53
Normalement tu fais :
mon lien
Cela marche tres bien
0
tiranus Messages postés 9 Date d'inscription dimanche 1 juillet 2007 Statut Membre Dernière intervention 2 août 2011
5 nov. 2010 à 22:02
un
texte

marche très bien pourquoi metre un lien quand il n'y en as pas ?
0
Rejoignez-nous