J'ai une maquette 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 reçu la réponse du serveur lorsque j'ai envoyé la demande.
Avec cette maquette, j'ai reçu en réponse la demande 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. ce qui signifie après clic, je vois la barre d'adresse comme
javascript:ShowOld(2367,146986,2)
signifie quelque chose de navigateur qui est url si je veux faire cela dans firebug qui est le travail. Maintenant, je veux le faire, puis quand 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.
Cette syntaxe devrait fonctionner correctement, mais vous pouvez essayer cette alternative.
<a href="javascript:void(0);" onclick="ShowOld(2367,146986,2);">
ou
<a href="javascript:ShowOld(2367, 146986, 2);">
RÉPONSE MISE À JOUR POUR LES VALEURS STRING
Si vous passez des chaînes, utilisez des guillemets simples pour les paramètres de votre fonction
<a href="javascript:ShowOld('foo', 146986, 'bar');">
Si vous ne disposez que du "gestionnaire d'événement de clic", utilisez plutôt un <button>
. Un lien a une signification sémantique spécifique.
Par exemple.:
<button onclick="ShowOld(2367,146986,2)">
<img title="next page" alt="next page" src="/themes/me/img/arrn.png">
</button>
Essayez de rendre votre javascript discret:
href="#" onclick="javascript:ShowOld(2367,146986,2)
J'utilise un petit CSS sur un span pour le faire ressembler à un lien comme ceci:
CSS:
.link {
color:blue;
text-decoration:underline;
cursor:pointer;
}
HTML:
<span class="link" onclick="javascript:showWindow('url');">Click Me</span>
JAVASCRIPT:
function showWindow(url) {
window.open(url, "_blank", "directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes");
}
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 est:
return false;
cela empêchera le lien de s'ouvrir dans le navigateur.