Нет данных флажка в форме из таблицы строк, где установлен флажок - PullRequest
0 голосов
/ 10 апреля 2019

В таблице каждая строка содержит флажок в уникальной форме, например:

<td class="d-inline-block col-2">
        <div class="form-check">
          <form action="/slider-update/1" method="post" id="check-1">
            <input type="hidden" name="csrfmiddlewaretoken" value="uDIiSPShbE3R2COQDI0qE4SlJGiqsQy8CQ2nQ0jllibaOqH6YsU8TtL7Xy0pF8sI">
            <input class="form-check-input position-static" type="checkbox" id="1" value="is_active" aria-label="...">
          </form>
        </div>
 </td>

Каждая форма идентифицируется с помощью идентификатора, отформатированного с помощью pk (здесь: «check-1»).Несмотря на всю эту четкую информацию, я не могу получить свою форму!

Вот мой код JavaScript:

    $(document).on('click', 'form', function () {
      var rpk = $(this).attr("id");
      var url = $(this).attr("action");
      var form = $('#' + rpk);
      $.post(url, form.serializeArray())
          .done(function (data) {
              alert( data );
          });
  }); 

Я получил правильную форму, но она содержит только токен, ничего не связанного сфлажок.

1 Ответ

1 голос
/ 10 апреля 2019

Вам необходимо установить атрибут name для вашего флажка.jQuery документ здесь serializeArray

, который изменяет ваш код следующим образом:

 <input class="form-check-input position-static" type="checkbox" id="1" name= "checkbox-1" value="is_active" aria-label="...">

также в вашем коде JavaScript.Не нужно делать

var form = $('#' + rpk);

, вы можете просто использовать

$(this).serializeArray()

это:

    $(document).on('click', 'form', function () {
      var url = $(this).attr("action");
      $.post(url, $(this).serializeArray())
          .done(function (data) {
              alert( data );
          });
  }); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...