我有一个场景,需要在另一个ajax表单中包含一个ajax表单,以允许用户选择要保存的照片。似乎我需要使用form_remote_tag和link_to_remote在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 %>有谁知道如何让这两种形式很好地结合在一起?
发布于 2011-03-30 10:37:29
表单中带有的表单不是有效的html,应避免使用。它会给你带来各种各样的问题(如果你能让它正常工作的话)。
我猜您可能会用一些JavaScript/ajax替换您的内部表单,这些JavaScript/ajax可以提供相同的功能,而不需要表单标记。(想想单击时触发的ajax请求,它会打开一个执行flickr搜索的覆盖窗口,然后将图像url放在表单的字段中。)
您也可以考虑将其分为两个步骤。
祝好运
发布于 2011-03-30 12:47:41
你不应该有嵌套的表单。
您似乎想要将text_field值提交给某个操作。您可以使用link_to_remote中的:with选项轻松实现这一点。
因此,您的内部表单将被删除,您可以将link_to_remore编写为:
假设您使用的是jQuery
<%= link_to_remote "save", :url => {:controller => "images", :action => "flickr_search" }, :with => "'keywords='+$('#keywords').val()" %>
https://stackoverflow.com/questions/5481024
复制相似问题