我有一个单一的表格部分:
<% form_remote_for(@snapshot_comment, :html => { :class => "snapshot_comment", :id => "snapshot_comment" }, :auth_key => params[:auth_key]) do |f| %>
some stuff...
<span class="button"><%= f.submit 'Submit »' %></span>
or <a href="#" class="cancel">cancel</a>
<% end %>
通过jQuery(定位snapshot_id)多次将工具提示输入到页面中。这很有效:
//Insert class and partial by targeting snapshot id
$j('<div class="info"><%= escape_javascript(render :partial => "snapshot_comments",
:locals => {
:snapshot => @snapshot,
:comments => @comments
})
%></div>').appendTo("#slide_<%= @snapshot.id %>");
partial(snapshot_comments)包含表单的代码:
<%= render_snapshot_comment_form_for snapshot %>
问题在于,当数据发布时 - 它会发布与页面上的表单一样多的次数。
因此,如果用户输入信息并单击提交---内容将插入每个工具提示中,而不仅仅是其所属的工具提示。我正在使用Qtip2。
有没有办法提交特定于其所在工具提示的表单?
答案 0 :(得分:1)
如果表单从同一部分每页呈现多次,那么听起来您的元素ID在该页面中从表单到表单都是相同的。
如果您的元素没有唯一ID,则会将响应放入显示该ID的每个位置。
例如 - 如果你有一个页面将结果放入id为“output”的div中,并且该div从部分渲染5次(每次具有相同的id“output”),那么你我会看到5次回复。
在结果页面上执行“查看源”,并查找重复的ID,看看是否属实。