同名复选框数组,在python和flas中返回空值的未选中复选框

2024-03-29 06:45:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用一组复选框。选中时,他们给出的是“on”值,而未选中时,他们给出的是null。你知道吗

如果我在其中有4个复选框,如果我选中了2,并且2是未选中的,那么数组会给我2个值。见下图。你知道吗

如何获得4个值,我尝试了使用相同名称的type=“hidden”,但不起作用。我也试过Unchecked checkbox returning null value

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'))`

Form

output

看到了吗图像。在第一个图像有4个复选框名称。我在2个字段中填写了name,并选中了2个复选框。但是请参见输出图像,我在name数组中得到4个值,在checkbox中只得到2个值。但是有4个复选框


Tags: namedivforminputrequesttypeitemscol