我正在尝试构建一个可以动态获取更多字段,文本字段和选择字段的Web应用。
我试图使这段代码简单,但是我在处理数据时遇到麻烦
实际上,我从动态文本框中获取数据没有任何问题,但是我可以从选择框中获取任何值,我非常努力,但是即使我的动态选择框做得很好,我也不确定,非常感谢您的帮助
这是烧瓶的代码
from flask import Flask, render_template, request, jsonify
app = Flask(__name__)
@app.route("/", methods=["GET", "POST"])
def index():
if request.method == "POST":
print("This is your info")
print(request.form)
return jsonify(request.form)
else:
return render_template("form.html")
这是HTML
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>Dynamic Form Mod</title>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
</head>
<body>
Products:
<form action="/" method="post">
<div>
<button id="add_item" type="button">Add</button>
<input type="submit" value="Submit">
</div>
<br><br>
<div style="float: left" id="products1"> 1 </div>
<div style="float: left" id="products2"> 2 </div>
</form>
<script>
$(document).ready(function() {
var count = 0;
$("#add_item").on("click", function() {
count += 1;
$("<input/>")
.attr({
type: "text",
placeholder: "Enter product 1",
name: "item1_" + count
})
.appendTo("#products1").wrap($("<div/>"));
$("<select id=item2_" + count + "/>").append($('<option value="1">One</option><option value="2">Two</option>'))
.appendTo("#products2").wrap($("<div/>"));
});
$("<select id=item2_" + count + "/>").attr("value");
})
</script>
</body>
</html>
我正试图得到这样的答复
ImmutableMultiDict([('item1_1', 'Any user text'), ('item1_2', '2')])