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

如何在Django Views中获取提交的表单文本输入框的id属性值

浏览器提交表单时,默认只会发送表单元素的name属性和对应输入值作为请求参数,输入框的id属性是供前端DOM操作使用的,不会自动随表单提交到后端,所以你没办法直接从request.POST里拿到这个id值,需要手动调整前端表单逻辑把id值传到后端。

以下是两种常用实现方案:

方案1:添加隐藏表单域传递id值

这是最常用、兼容性最好的实现方式,你只需要在同一个表单内新增一个隐藏类型的input,把输入框的id作为这个隐藏域的value即可:
前端表单代码调整:

<input type="text" name="textAnswer" maxlength="50" id="ed57a954-7afd-47ac-b6d4-979198455aa5" class="textinput textInput form-control">
<!-- 新增隐藏域传递输入框id -->
<input type="hidden" name="textAnswer_id" value="ed57a954-7afd-47ac-b6d4-979198455aa5">

后端Django视图中获取代码:

userTypedValue = request.POST.get('textAnswer')
inputId = request.POST.get('textAnswer_id')

方案2:把id嵌入原有输入框的name属性

如果你的表单是动态生成多个同类型输入框的场景,可以把id直接拼在输入框的name属性值里,后端通过拆分name字符串拿到id:
前端代码示例:

<input type="text" name="textAnswer_ed57a954-7afd-47ac-b6d4-979198455aa5" maxlength="50" id="ed57a954-7afd-47ac-b6d4-979198455aa5" class="textinput textInput form-control">

后端获取示例:

for key in request.POST.keys():
    if key.startswith('textAnswer_'):
        userTypedValue = request.POST.get(key)
        inputId = key.split('_', 1)[1]
        break

如果你的输入框id是固定值,也可以直接在后端代码里写死这个id值,不需要额外传递。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:09:01