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