带单选按钮的烧瓶手柄形式

flask handle form with radio buttons

我的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 获取按钮的状态?如果否,处理此表单的最简单方法是什么?

您应该将 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

或者另一种简单的方法是使用

getlist()

<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 文件中获取值 selected:

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

nb:您可以 select 多个或一个值,它将保存在列表中

遇到 400 Bad Request: Key Error 类型错误的任何人,请尝试以下操作之一:

  • 确保您要求客户选择单选选项
  • 使用 try/except[/else/final] 语句来处理客户未选择选项且您不要求他们选择的情况

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