2009-05-14 12 views
0

Je dois exécuter un certain code JavaScript lors de l'accès à l'URL personnalisée.Comment exécuter un code JavaScript dans une URL

A ce moment le code derrière le bouton qui déclenche le JavaScript que je dois être couru est la suivante:

<a class="button" href="#" 

    onclick="new Request.HTML({ 
    method: 'post', 
    url: '/ro/somefolder/anotherfolder', 
    data: {'user_id': 777, 'score': 1, 'redirect': '1'}, 
    update: $('vote_user_777'), 
    evalScripts: true 
}).send();return false;"> 

<img src="/images/game/thumbsup.gif" alt="vote"> 
</a> 

</span> 
</p> 

+0

Pourriez-vous être un peu plus précis quant à ce que vous êtes un problème? Je suis désolé, j'ai de la difficulté à comprendre ce qui ne va pas. –

+0

J'ai dit que sur le site il y a un bouton qui, lorsqu'il est pressé déclenche que JavaScript, tout ce que je veux est une URL personnalisée (URL de la page + quelque chose) pour exécuter ce JavaScript, le second est accessible. – Cumatru

Répondre

2

Vous n'avez pas indiqué quel problème vous rencontriez, mais la syntaxe ressemble à la bibliothèque MooTools.

Donc, j'ai mis en place un petit Javascript qui devrait fonctionner, et qui est plus en phase avec le style de MooTools.

window.addEvent('domready',function() { 
    var request = new Request.HTML({ 
     method: 'post', 
     url: '/ro/somefolder/anotherfolder', 
     data: {'user_id': 777, 'score': 1, 'redirect': '1'}, 
     update: $('vote_user_777'), 
     evalScripts: true 
    }); 
    $$('a.button').addEvent('click',function(e) { 
     e.stop(); 
     request.send(); 
    }); 
}); 
0

Si vous faites référence à l'intégration de votre JavaScript dans une URL plutôt que de l'attacher en tant que gestionnaire d'événement, vous pouvez faire quelque chose comme ceci:

<a href="javascript:void(new Request.HTML({...}).send())"> 

L'utilisation de la fonction void() garantit que rien n'est renvoyé afin que le navigateur ne sorte pas de la page en cours.

+0

La déclaration false de retour dans sa fonction prend déjà soin de cela. –

+0

Oui, mais s'il tente d'intégrer son script dans une URL, retourner false génère une erreur ou vous amène à une page nommée "false". Lorsque vous utilisez une URL 'javascript:', vous devriez l'inclure dans 'void()'. –

+0

En fait, lorsque le gestionnaire onclick renvoie la valeur false, il n'exécute pas sa valeur par défaut, qui se déplace vers le href. – seanmonstar

Questions connexes