You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取表单提交的按钮名称?附Flask表单值获取示例代码

获取表单提交按钮的名称(Flask实现)

你已经搞定了获取表单里学校输入框值的逻辑,现在要获取提交按钮的名称/标识其实很简单,只需要给按钮加必要的属性,再在Flask后端读取对应的请求参数就行。

第一步:修改HTML表单,给提交按钮添加name和value属性

表单提交时,只有带name属性的控件才会被包含在POST请求数据里,所以得给提交按钮加上name(作为后端识别的键)和value(作为按钮的名称/功能标识)。修改你的表单代码如下:

<form class="w3-wide" action="/hschool" method="post">
  <input list="hschools" name="hsname" autocomplete="off">
  <datalist id="hschools">
    <option value="hs1">
    <option value="hs2">
  </datalist>
  <!-- 给提交按钮添加name和value,后端通过name来取值,value就是按钮的名称标识 -->
  <input type="submit" name="submit_btn" value="确认提交学校">
</form>

要是页面有多个提交按钮(比如“保存”和“重置”),可以给它们设置相同的name但不同的value,这样就能区分用户点了哪个按钮:

<input type="submit" name="action" value="保存">
<input type="submit" name="action" value="重置">

第二步:在Flask后端获取按钮的信息

在你的Flask视图函数里,和获取hsname的方式类似,用request.form.get()读取按钮对应的参数:

from flask import Flask, request

app = Flask(__name__)

@app.route('/hschool', methods=['POST'])
def handle_hschool():
    # 获取之前的学校名称
    hsname = request.form.get('hsname')
    
    # 获取提交按钮的value(也就是按钮的名称/标识)
    button_identifier = request.form.get('submit_btn')
    
    # 多按钮场景的判断示例
    # action = request.form.get('action')
    # if action == '保存':
    #     # 执行保存逻辑
    # elif action == '重置':
    #     # 执行重置逻辑
    
    # 示例返回结果
    return f"选中的学校: {hsname}, 点击的按钮: {button_identifier}"

if __name__ == '__main__':
    app.run(debug=True)

小提醒:

  • 用request.form.get()而非直接request.form['submit_btn']是因为,如果表单没提交这个参数(比如用户通过其他方式提交),get()会返回None,不会抛出KeyError,更安全。
  • 如果你只是需要按钮的name属性值(比如上面的submit_btn),这个是你在HTML里定义好的固定值,直接在后端用这个字符串就行,但通常我们更关心用户点击的是哪个按钮,所以用value传递标识更实用。

内容的提问来源于stack exchange,提问作者MTT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:52:56