由于HTML流,我不得不将form标签嵌套在form中,但无法完成。有其他选择吗?
<tr class="first last">
<td class="a-right last" colspan="50"><button onclick="setLocation('#')" class="button btn-continue" title="Continue Shopping" type="button"><span>Continue Shopping</span></button>
<%= button_tag class: 'button btn-update', id: 'update-button' do %>
<%= Spree.t(:update) %>
<% end %>
<%= form_tag empty_cart_path, method: :put do %>
<%= submit_tag Spree.t(:empty_cart), class: 'button btn-empty' %>
<% end %>
</td>
</tr>
</tfoot>
<%= form_for @order, url: update_cart_path, html: { id: 'update-cart' } do |order_form| %>
<%= render partial: 'form', locals: { order_form: order_form } %>
<% end %>
<% end %>
button_tag应该在form_for表单内,但是如果我这样设置:
<td class="a-right last" colspan="50"><button onclick="setLocation('#')" class="button btn-continue" title="Continue Shopping" type="button"><span>Continue Shopping</span></button>
<%= form_for @order, url: update_cart_path, html: { id: 'update-cart' } do |order_form| %>
<%= button_tag class: 'button btn-update', id: 'update-button' do %>
<%= Spree.t(:update) %>
<% end %>
<%= form_tag empty_cart_path, method: :put do %>
<%= submit_tag Spree.t(:empty_cart), class: 'button btn-empty' %>
<% end %>
</td>
</tr>
</tfoot>
<%= render partial: 'form', locals: { order_form: order_form } %>
<% end %>
<% end %>
它不起作用
答案 0 :(得分:1)
我可以在表单中嵌套表单标签吗?
您不能嵌套表单标签。
这是错误的。这是不对的,因为它是错误的。大多数浏览器只会看到一种形式。
https://www.w3.org/TR/html5/forms.html#the-form-element
内容模型: 流内容,但没有表单元素后代。
答案 1 :(得分:1)
如果我是对的,您希望将empty_cart按钮与更新按钮对齐。在Rails中,您可以创建一个进行更新或发布或任何您喜欢的链接。您可以执行以下操作:
<%= link_to Spree.t(:empty_cart(_method: 'put')), empty_cart_path, class: 'button btn-empty', method: :post %>