我有一个场景,我需要在另一个ajax表单中包含一个ajax表单,以允许用户选择要保存的照片。看来我需要使用带有link_to_remote的form_remote_tag在remote_form_for中提交它。内部form_remote_tag现在可以工作,但现在外部remote_form_for不起作用。这就是我所拥有的:
<% remote_form_for [@list, @term] do |f| %>
<div id="upload_image" onclick="$('image_upload_form').show()">upload image</div>
<div id="image_upload_form" style="display:none">
<div id="flickr_search">
<% form_remote_tag(:url => { :controller => "images", :action => "flickr_search" }) do %>
<%= text_field_tag :keywords %>
<%= link_to_remote "save", :url => {:controller => "images", :action => "flickr_search" }, :submit => "flickr_search" %>
<% end %>
</div>
</div>
<%= f.text_area :definition, :size => "33x3", :class => "textarea", :id => "definition" %>
<%= f.submit "Save" %>
<% end %>
任何人对如何让这两种形式在一起玩得很开心?
答案 0 :(得分:1)
表单中的表单不是有效的HTML,应该避免。它会引起各种各样的问题(如果你可以让它工作的话)。
我猜你可能会用一些JavaScript / ajax替换你的内部表单,它提供相同的功能而没有表单标签。 (想想点击时触发的ajax请求会打开一个覆盖窗口,进行你的flickr搜索,然后将图像url放在表单中的字段中。)
您也可以考虑将其分为两个步骤。
祝你好运答案 1 :(得分:0)
你不应该有嵌套表格
您似乎想要为某些操作提交text_field
值。您可以使用:with
中的link_to_remote
选项轻松实现此目的
因此,您的内部形式将被删除,您可以将link_to_remore
写为:
假设您正在使用jQuery
:
<%= link_to_remote "save", :url => {:controller => "images", :action => "flickr_search" }, :with => "'keywords='+$('#keywords').val()" %>