Форма не публикует все отмеченные флажки ввода - PullRequest
1 голос
/ 14 апреля 2019

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

Из того, что я нашел, ниже должно работать.Я полагаю, что проблема может быть в том, что поля ввода генерируются через forloop, если так, как я могу обойти это?Для каждого значения добавить в список и опубликовать с помощью js?

index.html

{% for q in list %}
    {% if forloop.last %}
        <form method="POST" name="selectedchecks"> {% csrf_token %}
            <div class="qblock">
                <label class="pure-material-checkbox">
                    <input class="selectedchecks" type="checkbox" name="choices[]" value="{{ q }}">
                    <span>
                        <p>{{ q }}</p>
                    </span>
                </label>
            </div>
        </form>
    {% endif %}
{% endfor %}

views.py

if request.method == 'POST':
    selected_list = request.POST.getlist('choices[]')

Что происходит, если только первое значение{{q}} возвращается, если установлен первый флажок, если выбран любой другой флажок, кроме первого, ничего не возвращается (пустой список).Выбор всех флажков также возвращает только первое значение.

Он должен POST все выбранные значения флажков.

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 14 апреля 2019

UPDATE

Проблема заключалась в том, что форма переинициализировалась для каждой итерации цикла. Установка тега <form> до того, как цикл устранит проблему!

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