ruby-on-rails - 我可以在表单内嵌套表单标签吗?
问题描述
我有一种情况,由于 HTML 流,我必须在表单内嵌套表单标签,但无法完成。有没有其他选择?
<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 %>
它不工作
解决方案
我可以在表单内嵌套表单标签吗?
您不能嵌套表单标签。
这是错误的。它不会起作用,因为它是错误的。大多数浏览器只会看到一种表单。
https://www.w3.org/TR/html5/forms.html#the-form-element
内容模型:流式内容,但没有表单元素后代。
推荐阅读
- java - Android Studio - 警报框太大
- python - 有没有办法让这段代码更通用、更优雅?
- flutter - 颤振无线电值在步进器中没有改变
- angular - ngx 图表角度 x 轴仅显示时间 4 个选项
- java - 具有直接类型的 Java vararg 与通过扩展的通配符泛型之间有什么区别?
- javascript - react-test-renderer 库未定义的“高度”
- python - 使用打印命令 Vs 直接调用
- ios - SwiftUI 自定义图像修改器
- node.js - 如何从 Google Drive API 的导出方法将 PDF 正确读入 nodejs 缓冲区?
- lua - 找到了混淆代码(我认为),我不知道如何去混淆它。卢阿