5
我正在開發一個Ruby On Rails 2.3.8應用程序,我想知道如何在用戶按下textarea中的ENTER鍵時提交remote_form_for
表單。如何使用ENTER鍵提交AJAX表單,從textarea?
這裏是表單代碼:
<% 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();
}
});
我已經從我的控制器做網頁更新,請我不希望從這個jQuery函數中指定任何語法,如success:
。我只是想讓它使用AJAX提交remote_form_for
。
感謝您的回答。這樣做的問題是,一旦表單被提交,我已經從控制器的動作中進行了html替換。所以,我不希望(或者至少我從來沒有這樣做過)例如從jQuery指定成功事件。 Rails中有沒有其他方法可以做到這一點? – brianfalah 2011-06-15 14:29:12
只是讓成功函數爲空 – jigfox 2011-06-15 20:21:00
AJAX調用背後的想法是處理提交請求,而不重新加載整個頁面。在這種情況下,您將觸發處理提交的相同控制器操作,但它會被稱爲我的AJAX功能。然後,您將通過AJAX請求發回HTML,並在成功函數中動態替換表單(或區域)的內容。 – Brombomb 2011-06-15 20:31:26