Поля ввода находятся за пределами поля формы в режиме начальной загрузки (Google chrome) - PullRequest
2 голосов
/ 09 января 2020

У меня возникла странная проблема при игре с Bootstrap 4 Модальными. Когда я попытался поместить форму внутри модального окна - отправка ничего не даст, и после проверки элемента в Google Chrome я обнаружил, что он показывает, что поля ввода находятся вне тегов формы.

Мой код вопрос:

<div class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title">Title</h5>
          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
            <span aria-hidden="true">&times;</span>
          </button>
      </div>
      <div class="modal-body">
        <form action='test-input.php' method='post' class='ajax-input'>
          <input type='text' name='test-input-field'><input type='submit' name='test-submit'>
        </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

Но Google chrome видит "модальное тело" следующим образом:

<div class="modal-body">
  <form action='test-input.php' method='post' class='ajax-input'></form>
  <input type='text' name='test-input-field'><input type='submit' name='test-submit'>
</div>

К сожалению, на IE все работает нормально. В чем может быть проблема, и есть ли способ go обойти эту проблему, если она не исчезнет?

1 Ответ

1 голос
/ 09 января 2020

Похоже, вы создаете каждый модал сразу после <tr>, все еще внутри <table>. Это, вероятно, то, что вызывает проблему. Вы захотите переместить модалы за пределы вашей таблицы, давая вам код что-то вроде:


<table>
  <? foreach($item in $items) { %>
   <tr> ... </tr>
  <? } ?>
</table>

<? foreach($item in $items) { %>
<div class="modal" id="modal-<?= $item->id ?>">
  ...
</div>
<? } ?>
...