Как отправить AJAX-форму с клавишей ENTER, из textarea? - PullRequest
5 голосов
/ 15 июня 2011

Я занимаюсь разработкой приложения Ruby On Rails 2.3.8 и хотел бы узнать, как отправить форму remote_form_for, когда пользователи нажимают клавишу ВВОД в текстовой области.

Вот код формы:

  <% remote_form_for :post, PostComment.new, :url => save_outside_comment_path(post_id), :html => { :method => :put} do |f| %>
     <%= f.text_area :comment, :rows => 1, :id => "txtOutsideComment_#{post_id}", :class => "new-reply-text" %>
  <% end %>

Вот функция jQuery, которая отправляет, но не AJAX:

jQuery('.new-reply-text').keypress(function(e) {
    if (e.keyCode == 13 && !e.shiftKey) {
        e.preventDefault();
        this.form.submit();
    }
});

Я уже обновляю страницу с моего контроллера, не хочу ли яукажите любой синтаксис, например success:, из этой функции jQuery.Я просто хочу отправить remote_form_for с помощью AJAX.

1 Ответ

6 голосов
/ 15 июня 2011

Я думаю, что вы спрашиваете, как сделать запрос AJAX вместо полной страницы отправки.Если это так

jQuery('.new-reply-text').keypress(function(e) {
  if (e.keyCode == 13 && !e.shiftKey) {
    e.preventDefault();
    jQuery.ajax({
      url: "/my/URL",
      data: jQuery(this).form.serialize(),
      success: function(){},
      dataType: "json"
    });
  }
});

Вы можете сохранить несколько параметров, если используете .get http://api.jquery.com/jQuery.get/

или .post http://api.jquery.com/jQuery.post/

Какие оболочки для .ajax http://api.jquery.com/jQuery.ajax/

Я не рельсовый парень, поэтому вам нужно обновить class / id первого объекта jQuery, чтобы найти remote_form_for

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...