sebicool
Messages postés32Date d'inscriptionjeudi 7 décembre 2000StatutMembreDernière intervention12 décembre 2008
-
2 sept. 2008 à 12:32
tiranus
Messages postés9Date d'inscriptiondimanche 1 juillet 2007StatutMembreDerniè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?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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;
sebicool
Messages postés32Date d'inscriptionjeudi 7 décembre 2000StatutMembreDernière intervention12 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
sebicool
Messages postés32Date d'inscriptionjeudi 7 décembre 2000StatutMembreDernière intervention12 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!
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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], <!--
XtremDuke
Messages postés626Date d'inscriptionsamedi 28 septembre 2002StatutMembreDernière intervention18 mai 20094 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.