Я использую массив флажков. Когда проверено, они дают "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> </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> </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 флажка