python-3.x 带有单选按钮的 flask 处理表单

f87krz0w  于 2023-03-04  发布在  Python
关注(0)|答案(4)|浏览(161)

我的index.html如下所示

<form name="myForm" action="" method="post" onsubmit="">
<p>
<input type="radio" name="options" id="option1"> Option1 <br>
<input type="radio" name="options" id="option2"> Option2 <br>
<input type="radio" name="options" id="option3"> Option3 <br>
</p>
<p><input type=submit value=Next></p>
</form>

我需要得到选中的按钮。但是由于它们都有相同的名称,我不能通过写request.form['option']来实现。如果我让它们的名称不同,用户可以进行多重选择。
有没有一种方法可以通过id来获取按钮的状态?如果没有,处理这个表单最简单的方法是什么?

nkhmeac6

nkhmeac61#

您应该将value属性添加到每个input字段中:

<input type="radio" name="options" id="option1" value="option1"> Option1 </input><br>
<input type="radio" name="options" id="option2" value="option2"> Option2 </input><br>
<input type="radio" name="options" id="option3" value="option3"> Option3 </input><br>

在您的 flask 路线中,您可以读取所选选项:

option = request.form['options']

你会得到选中单选按钮的value

yeotifhr

yeotifhr2#

或者使用一种替代的简单方法
获取列表()

<input type="radio" name="options" id="option1" value="option1"> Option1 </input<br>
<input type="radio" name="options" id="option2" value="option2"> Option2 </input<br>
<input type="radio" name="options" id="option3" value="option3"> Option3 </input<br>

然后在您的flask文件中获取所选值:

option = request.form.getlist('options')

nb:你可以选择多个或一个值,它将被保存在列表中

xtfmy6hx

xtfmy6hx3#

对于遇到400 Bad Request: Key Error类型错误的用户,请尝试以下操作之一:

  • 确保您要求客户端选择一个单选选项
  • 使用try/except[/else/final]语句来处理客户端不选择选项的情况,您也不要求客户端选择选项

我会回应@sarthak的评论,但我没有足够的声誉。

izkcnapc

izkcnapc4#

如果服务器无法找到命名为选项的元素,则会出现400错误请求错误

相关问题