Могу ли я вложить тег формы внутри формы? - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть ситуация, когда мне приходится вкладывать тег формы в форму из-за потока 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 %>

это не работает

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Если я прав, вы хотите, чтобы кнопка empty_cart была выровнена с вашей кнопкой обновления.В Rails вы можете создать ссылку, которая делает обновление или публикацию или что угодно.Вы можете сделать что-то вроде:

<%= link_to Spree.t(:empty_cart(_method: 'put')), empty_cart_path, class: 'button btn-empty', method: :post %>
0 голосов
/ 25 февраля 2019

Могу ли я вложить тег формы внутри формы?

Вы не можете вложить теги формы.

Это неправильно.Это не сработает, потому что это неправильно.Большинство браузеров видят только одну форму.

https://www.w3.org/TR/html5/forms.html#the-form-element

Модель содержимого: содержимое потока, но с без потомков элементов формы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...