сделать ajax-запрос от javascript onclick - PullRequest
1 голос
/ 16 июня 2009

Я привык использовать вспомогательные методы link_to_remote и друзей для создания ссылок или кнопок, которые будут отправлять запросы Ajax под капот и обновлять некоторые данные веб-страницы.

У меня есть несколько фоновых изображений, которые являются кнопками. Я хочу, чтобы они отправили запрос Ajax на мой сервер rails. Я предполагаю, что javascript onClick + отправляющий Ajax-запрос должен справиться с задачей, но я понятия не имею, как Prototype работает с помощью вспомогательного метода Rails.

Надеюсь, это не слишком глупый вопрос

Ответы [ 2 ]

2 голосов
/ 16 июня 2009

Метод для элемента observe Кроме того, $() предполагает, что вы используете идентификатор. Если у вас есть набор кнопок, помеченных классами, а не идентификаторами, вы можете использовать $$(), который принимает селектор CSS и возвращает массив элементов.

Вы можете взять полученный из этого результат и повторить его, добавив поведение нажатия для каждой кнопки.

$$(".bg_button").each(function(button){
    button.observe('click', function(){
        new Ajax.Request(url, {
                                 method: 'get',
                                 parameters: { key: 'value' },
                                 onSuccess: function(res){
                                    // handle the result
                                 }
                             });
    });
});

Чтобы узнать больше о том, как работает прототип, посмотрите их api docs . Я думаю, что они довольно хороши.

2 голосов
/ 16 июня 2009
$("my_button").observe('click', function(){
    new Ajax.Request(url, {
                             method: 'get',
                             parameters: { "key": "value" },
                             onSuccess: function(res){
                                // handle the result
                             }
                         });
}

и все.

...