Массив чекбокса с тем же именем, чекбокс Unchecked, возвращающий нулевое значение в python и flask - PullRequest
0 голосов
/ 02 октября 2019

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

Если у меня есть 4 флажка в этом случае, если я установил 2 и 2, непроверенный массив дает мне 2 значения. Смотрите изображение ниже.

Как я могу получить 4 значения, я попробовал type = "hidden" с тем же именем, но это не сработало. Также я попробовал Не отмечен флажок, возвращающий нулевое значение

HTML

                    `<form action="{{ url_for('desc') }}" method="POST">
                           <div id="items" class="col-sm-12">
                           <div class="form-group">

                            <div class="col-sm-8">

                            <label>Name:</label>
                            <input type="text" class="form-control" name="name" required="1">
                            </div>
                            <div class="col-sm-4" class="checkbox">
                                <p><label>&nbsp;</label></p>
                                  <label class="col-sm-4">MR: <input type="checkbox"  style="width: 20px;height: 20px;" name="mr"  ></label>
                            </div>
                           </div>
                        </div>
                       <div class="form-group">
                         <button class="btn btn-primary" type="button" onclick="addItem()">Add</button>
                        </div>
                     </form>`

JavaScript

function addItem(){
var html = '<div class="form-group"> <div class="col-sm-8"><label>Name:</label><input type="text" class="form-control" name="name"></div><div class="col-sm-4" class="checkbox"><p><label>&nbsp;</label></p><label class="col-sm-4">MR: <input type="checkbox" style="width: 20px;height: 20px;" name="mr"></label></div>'
$('#items').append(html);
}

Я использовал JavaScript для добавления элемента динамически

python

`@app.route('/desc', methods=['POST'])
  def desc():
   if request.method == "POST":

    # name = request.form['name']
    items = request.form.getlist('name')
    mr = request.form.getlist('mr')

    print(items)
    print(mr)




    for (x, y) in zip(items, mr):
        print(x)
        print(y)

    return redirect(url_for('Index'))`

Форма

вывод

см. Изображение. На первом изображении есть 4 флажок и имя . Я заполнил имя в 2 поля и установил 2 флажка. Но смотрите output image, в котором я получаю 4 значения в массиве имен и только 2 значения в флажке. Но есть 4 флажка

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