【发布时间】:2011-12-02 08:55:55
【问题描述】:
我使用 Ajax 请求加载图片和单选按钮。之后,如果我单击 ,我想提交此单选按钮。提交适用于所有表单,但不适用于 Ajax 表单。怎么了?
信息:Ajax 内容被加载到 div。
查看 - new.html.erb
<%= form_for :site, :html => { :id => "form_all" } do |sg| %>
...
<%= sg.submit 'Confirm Step 1' %>
<%= sg.text_field :subject %>
...
<div id="pics_<%= deal.DealID %>">
</div
<%= link_to "Get pictures", {:action => "new", :format => :js }, :remote => true %>
<% end %>
控制器 - site_controller.rb
def new
respond_to do |format|
format.html { }
format.js {}
end
end
JS - new.js.erb
$("#hidden_div").html('<%= escape_javascript( render :partial => "hidden" ) %>');
var div_name = $("#hidden_field").val();
var substr = div_name.split('"');
$(substr[1]).html('<%= escape_javascript( render :partial => "pic" ) %>');
JS - application.hs
jQuery.ajaxSetup({
'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")}
})
jQuery.fn.submitWithAjax = function() {
this.submit(function() {
$.post(this.action, $(this).serialize(), null, "script");
return false;
})
return this;
};
$(document).ready(function() {
$("#form_all").submitWithAjax();
})
部分 - _pic.html.erb
<% @Pics.each do |pic| %>
<a href="<%= pic.PublicServerURI %>" target="_blank"><%= image_tag(("#{pic.PublicServerURI}"), :size => "100x80") %></a>
<input value="<%= pic.PublicServerURI %>" id="site_pics" name="pics[DealID[<%= @DealID %>]]" type="radio">Use Deal with that Picture<br>
<% end %>
【问题讨论】:
-
我对ruby一无所知,但是可以发布一些真实的输出吗?而且你还没有发布一行 jquery...
-
嘿,实际输出是什么意思?我没有发布 jquery,因为它可以加载图片和单选按钮。我会添加更多细节!
-
真正的输出意味着 html ruby 吐出来
-
添加表单元素的真实输出
-
请贴出表格的完整代码——我有预感……。 (这怎么不是一个真正的问题?)
标签: jquery ruby-on-rails ajax forms