Как мне сделать AJAX-представление с помощником формы Rails 2.3.8? - PullRequest
1 голос
/ 15 марта 2011

Я переключаю приложение Rails 2.3.8 с Prototype на jQuery.Я больше не собираюсь использовать RJS, так что это означает, что я переключаю мои вызовы remote_form_for на обычный старый form_for.

Однако кнопки отправки в этих формах не выполняют вызовы AJAX.Они выполняют обычные процедуры POST.

У меня есть функция jQuery в application.js:

jQuery.fn.submitWithAjax = function () {  
  this.submit(function () {  
    alert("submitting");
    $.post($(this).attr('action'), $(this).serialize(), null, "script");
    return false;  
  });  
};

, и я вызываю ее в своей форме:

// Search
$('#lookup').submitWithAjax();

DoМне вместо этого нужно вызвать его на самой кнопке?Я здесь упускаю какую-то простую фигуру, которая не позволяет всем фигурам встать на свои места.

1 Ответ

2 голосов
/ 15 марта 2011

Вам нужно $ вокруг this для this.submit.Кроме того, согласно невысказанному соглашению, вам, вероятно, следует заключить его в $ .each, чтобы связать событие с несколькими элементами.

$.fn.submitWithAjax = function () {  
    $(this).each(function(){
        $(this).submit(function () {
            $.post($(this).attr('action'), $(this).serialize(), null, "script");
            return false;
          });
    });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...