python - 具有相同名称的复选框数组,未选中的复选框在 python 和烧瓶中返回空值
问题描述
我正在使用一系列复选框。选中时,它们给出“on”值,但未选中时给出null
.
如果我有 4 个复选框,如果我选中了 2 并且 2 未选中,则数组会给我 2 个值。见下图。
我如何获得 4 个值,我尝试使用相同的名称键入 =“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 个复选框。但请参阅输出图像,我在名称数组中得到 4 个值,而在复选框中只有 2 个值。但是有4个复选框
解决方案
推荐阅读
- vue-apollo - Vue Apollo 项目 - 拥有单独的服务是共享状态的好方法吗?
- mysql - 如何修复 SQL 错误 (1248):每个派生表都必须有自己的别名
- python - 当满足 2 个标准时,如何仅总结基于值的值?
- excel - 粘贴另一个工作表中的前导公共子字符串
- javascript - 如何在前端 Web 应用程序中隐藏测验的答案?
- ruby-on-rails - ActiveRecord 在双向线程中选择第一条消息
- excel - 使用 AGGREGATE 函数提取数组中的最大值会引发错误
- python - 显示 subprocess.Popen 的输出,就像在终端中运行一样
- flutter - 如何临时更改 Flutter 小部件中的文本颜色(并返回)?
- sql - 按另一列 SQL 中的唯一条目对列进行分组