【问题标题】:Multiple forms from single partial来自单个部分的多种形式
【发布时间】:2011-04-26 07:00:32
【问题描述】:

我有一个部分表单:

<% 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 &raquo;' %></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 %>");

部分(snapshot_cmets)包含表单的代码:

<%= render_snapshot_comment_form_for snapshot %>

问题在于,当数据发布时 - 它发布的次数与页面上的表单数量一样多。

因此,如果用户输入信息并单击提交 --- 内容将插入到每个工具提示中,而不仅仅是其所属的工具提示。我正在使用 Qtip2。

有没有办法提交特定于它所在的工具提示的表单?

【问题讨论】:

    标签: ruby-on-rails ajax


    【解决方案1】:

    如果表单从同一个部分在每个页面中多次呈现,那么听起来您的元素 ID 在该页面中的表单之间是相同的。

    如果您的元素没有唯一 ID,则响应会被放入该 ID 出现的每个位置。

    例如 - 如果您有一个页面将结果放入 id 为“output”的 div 中,并且该 div 被渲染了 5 次(每次都使用相同的“output” id),那么您'将看到响应呈现 5 次。

    在结果页面上“查看源代码”,查找重复的 ID,看看是否是这种情况。

    【讨论】:

      猜你喜欢
      • 2014-03-16
      • 1970-01-01
      • 1970-01-01
      • 2017-12-02
      • 2015-12-02
      • 2018-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多