101 votes

Comment appeler une fonction JavaScript au lieu d'un href en HTML

J'ai quelques maquettes en HTML

<a href="javascript:ShowOld(2367,146986,2)"><img title="next page" alt="next page" src="/themes/me/img/arrn.png"></a>

J'ai obtenu la réponse du serveur lorsque j'ai envoyé la requête.

Avec cette maquette j'ai obtenu comme réponse une requête AJAX qui envoie mon code au serveur.

Tout va bien, mais lorsque je clique sur le lien, le navigateur veut ouvrir la fonction en tant que lien, c'est-à-dire qu'après avoir cliqué, la barre d'adresse s'affiche comme suit

javascript:ShowOld(2367,146986,2)

signifie le truc du navigateur qui est url si je veux faire ça dans firebug ça marche. Maintenant, je veux faire en sorte que lorsque quelqu'un clique sur le lien, le navigateur essaie d'appeler la fonction déjà chargée dans le DOM au lieu d'essayer de les ouvrir dans le navigateur.

3voto

hellsgate Points 1869

Vous devez également séparer le javascript du HTML.
HTML:

<a href="#" id="function-click"><img title="next page" alt="next page" src="/themes/me/img/arrn.png"></a>

javascript :

myLink = document.getElementById('function-click');
myLink.onclick = ShowOld(2367,146986,2);

Assurez-vous simplement que la dernière ligne de la fonction ShowOld soit :

return false;

car cela empêchera le lien de s'ouvrir dans le navigateur.

0voto

Colin 't Hart Points 3200

href est facultatif pour a éléments.

Il est tout à fait suffisant d'utiliser

<a onclick="ShowOld(2367,146986,2)">link text</a>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X