【问题标题】:Form not posting all checked input checkboxes表单未发布所有选中的输入复选框
【发布时间】:2019-09-04 07:55:44
【问题描述】:

我正在尝试发布所有选中的输入复选框。输入字段由 django 的 for 循环生成,如下所示。

从我目前发现的情况来看,以下应该可以正常工作。我相信问题可能在于输入字段是通过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 }} 的第一个值,如果选中除第一个复选框之外的任何其他复选框,则不返回任何内容(空列表)。选中所有复选框也只返回第一个值。

它应该发布所有选中的复选框值。

感谢任何帮助!

【问题讨论】:

    标签: html django


    【解决方案1】:

    更新

    问题在于每次循环迭代都会重新初始化表单。在循环之前设置&lt;form&gt; 标记可以解决问题!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-24
      • 1970-01-01
      • 2018-06-16
      • 1970-01-01
      • 2012-07-24
      • 2013-10-14
      • 2013-05-21
      相关资源
      最近更新 更多