2009-05-14 1 views
0

Мне нужно выполнить определенный JavaScript при использовании настраиваемого URL-адреса.Как выполнить JavaScript по URL-адресу

В это время код под кнопкой, запускающего JavaScript, что мне нужно быть побежал это:

<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

Не могли бы вы быть более конкретными относительно того, что вы за проблема? Извините, мне трудно понять, что случилось. –

+0

Я сказал, что на веб-сайте есть кнопка, которая при нажатии запускает этот JavaScript, все, что я хочу, это настраиваемый URL (URL-адрес страницы + что-то) для выполнения этого JavaScript, второй доступ. – Cumatru

ответ

2

Вы не сказали, какую проблему вы испытывали, но синтаксис выглядит как библиотека MooTools.

Итак, я собрал немного Javascript, который должен работать, и в большей степени соответствует стилю 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

Если вы имеете в виду Встраивание JavaScript в URL-адресе, а не прикреплять его как обработчик событий, вы можете сделать что-то вроде этого:

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

Использование функции void() гарантирует, что ничего не будет возвращено, чтобы браузер не удалялся от текущей страницы.

+0

Возвращаемое ложное утверждение в его функции уже позаботится об этом. –

+0

Да, но если он пытается встроить свой скрипт в URL-адрес, то возвращение false приведет либо к генерации ошибки, либо приведет вас к странице с именем «false». При использовании URL-адреса javascript: 'вы должны обернуть его в' void() 'вместо этого. –

+0

Фактически, когда обработчик onclick возвращает false, он не выполняет его по умолчанию, который перемещается в href. – seanmonstar

Смежные вопросы