我有一个前端页面,其中有一组提交按钮,代码段为:
<div class="table-outer">
<div class="table-inner">
<table>
<form action="addtocart" method="post" >
<tr><td>IIT Jee Prep Combo pack</td><td><input type="submit" name="IIT Jee Prep Combo pack " value="Add to Cart"></td></tr>
</form>
<form action="addtocart" method="post">
<tr><td>GRE Prep Combo Pack</td><td><input type="submit" name="GRE Prep Combo Pack" value="Add to Cart"></td></tr>
</form>
<form action="addtocart" method="post">
<tr><td>GATE Prep Combo Pack </td><td><input type="submit" name="GATE Prep Combo Pack" value="Add to Cart" ></td></tr>
</form>
<form action="addtocart" method="post">
<tr><td>CAT Prep Combo Pack</td><td><input type="submit" name"CAT Prep Combo Pack" value="Add to Cart"></td></tr>
</form>
<form action="addtocart" method="post">
<tr><td>Civil Services Prep Combo Pack</td><td><input type="submit" name="Civil Services Prep Combo Pack" value="Add to Cart"></td></tr>
</form>
</table>
</div>
</div>
我有一个处理所有请求的Flask服务器。现在,我想存储的名称 用户点击时在文件中预订。书的名称存储在表单标记的name属性中。我该怎么做呢如果它是一个文本框,我用request.form ['name']做了。如果提交按钮
,如何执行相同的操作答案 0 :(得分:3)
浏览器仅将用于提交的提交按钮发送到服务器;您可以在request.form
对象中测试该名称:
if "Civil Services Prep Combo Pack" in request.form:
# ...
或者您可以查找表单键;表单中应该只有一个键,它将是所用提交按钮的name
属性:
book = form.keys()[0]
换句话说,提交按钮的name
属性是提交字段的键;对于您的表单,关联值始终为'Add to Cart'
。
如果您为每个表单添加隐藏字段,那么 将更容易测试使用的表单:
<form action="addtocart" method="post">
<input type="hidden" name="book" value="Civil Services Prep Combo Pack" />
<tr><td>Civil Services Prep Combo Pack</td><td><input type="submit" name="add" value="Add to Cart"></td></tr>
</form>
并使用request.form['book']
确定使用的是哪种表单。
答案 1 :(得分:0)