我有一个可以 100% 工作的 remote_form
当用户点击提交时,它会从数据库中抓取数据或从另一个网站抓取数据,并无缝更新页面......
我现在遇到的问题是,我想做同样的事情,但不要让用户单击带有 onload 事件的提交按钮。我想我的做法是错误的:
从技术上讲,这是可行的……它确实获得了正确的数据,但它并没有完全按照 remote_form_tag 所做的那样返回原始数据。没有 RJS replace_html。
有没有办法完全跳过 form_for 并在页面加载时直接执行控制器操作?
<script type="text/javascript">
$(window).load(function() {
// executes when HTML-Document is loaded and DOM is ready
// jQuery.facebox('Big loading! <img alt=\"Loading\" src=\"/images/loaders/loading.gif\" />');
//$("#update_form").submit();
$("#update_form").submit(function () { return false; });
});
</script>
表格为
#html.erb
<% form_remote_tag :url => { :action => "update_availables", :id => params[:id] },
:loading => "jQuery.facebox('Big loading! <img alt=\"Loading\" src=\"/images/loaders/loading.gif\" />');",
:html => { :method => "get" },
:method => "get",
:html => { :id => 'update_form' } do %>
控制器
def update_availables
@do_it = Available.get_new_availables :id => params[:id], :date => user_cart.getDate.to_s
get_availables
respond_to do |format|
format.html
format.js
end
end
RJS
page.replace_html :rooms, :partial => "available"
page << "jQuery.facebox.close();"