Флажок рельсов AJAX, использующий JavaScript .submit () - PullRequest
2 голосов
/ 19 сентября 2011

Я использую Rails 3.1, и мне нужен флажок для переключения и сохранения в базе данных без обновления или перенаправления страницы.

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

Вот моя форма:

<% form_for book, :remote => true do |f| %>
   <%= f.check_box :finished %>
<% end %>

Вот мой jQuery javascript:

$('input#book_finished').live("click", function() {
    $(this).parent('form').submit();
});

: remote => true не работает, когда я отправляю через jQuery, но работает, если я добавляю кнопку отправки (чего у меня не может быть). Как я могу отправить при нажатии флажок через JS?

1 Ответ

3 голосов
/ 19 сентября 2011

Ваш код пока обрабатывает только отправку, нажав на флажок. Чтобы отправить форму через AJAX, вам все равно придется перехватить событие отправки, предотвратить поведение по умолчанию и отправить данные формы:

$('#form-id').submit(function(){
  $.ajax({
    type: this.method,
    url: this.action,
    data: $(this).serialize(),
    success: function(){
      ... // do something in case everything went find
    }
  });
  return false;
});
...