如何从选择菜单获取数据到后端/服务器
Posted
技术标签:
【中文标题】如何从选择菜单获取数据到后端/服务器【英文标题】:How to get data from selection menu to backend/sever 【发布时间】:2012-08-01 22:26:33 【问题描述】:我创建了一个包含 5 个选项的下拉菜单。当用户选择一个选项并按下提交按钮时,如何将该“选择”传输到 Django 中的后端/服务器?
After that, when the value of the selection reaches the backend, I intend to use the value to create another form.有 5 种形式可供选择(每种选择一种),出现的形式类型将取决于原始选择的值。
这是我目前所拥有的,但我收到错误消息“在 QueryDict 中找不到键‘选择’:”
这是 html 文件:
<div id = "f1" style="display:none">
<form name= "form1" action='/products/ action /' method='get'>
<p class="choice-header"> Product: </p>
<select id = "g1" title="selection" onchange = "showForm()">
<option value = "0">--</option>
<option value = "1">Form 1</option>
<option value = "2">Form 2</option>
<option value = "3">Form 3</option>
<option value = "4">Form 4</option>
<option value = "5">Form 5</option>
</select>
<div id= "b1" style="display:none">
<input class="button" type=submit value=" button ">
</div>
</form>
</div>
这是 Django views.py 文件
def new2(request):
form_no = request.GET["selection"]
if form_no == 1:
form_to = Form1()
c = RequestContext(request,
'action': 'add/2',
'button': 'Add',
'form': form_to,
)
return render_to_response('links/add.html', c)
感谢您的帮助!
【问题讨论】:
【参考方案1】:这不是真正的 Django 问题。你只是没有给你的select
元素一个name
属性。
<select id="g1" name="selection">
【讨论】:
哇,成功了!但现在我得到一个新错误:在赋值之前引用了局部变量 'form_to'。有什么建议?感谢您的帮助,我是新手! 因为form_no
不是1
,它是"1"
- 一个字符串,而不是一个整数。【参考方案2】:
这应该可以帮助您:django - collecting data from a HTML <select>。
基本上,您需要在 HTML 中的 select 元素上命名,然后您可以通过以下方式访问它:
request.GET["nameOfYourAwesomeSelectList"]
编辑:刚刚注意到您使用的是 GET 方法。您使用 GET 将表单数据发送到服务器是否有原因?纯粹的好奇心。
编辑 2:对于您关于 form_to 的错误,请注意您仅在所选项目为 1 时才对其进行初始化?因此,当您选择一个值不是 1 的项目时,form_to 永远不会初始化,因此当您创建 RequestContext 时,它会生气。您需要始终初始化它,form_to,或者在 form_to 为空时更改创建 RequestContext 的方式。
【讨论】:
我要做的是创建一个两步过程。在第一步中,用户从下拉菜单中选择“产品类型”。在步骤 2 中,基于之前的选择,我将生成一个与用户选择的产品类型相对应的表单。我目前实现它的方式是步骤 1 中的每个产品类型选项对应一个值(1、2、3...)。我正在使用 GET 方法基本上找到该数字,并基于该数字,我想生成与该产品类型对应的表单。你认为这可行吗? 知道了!问题是我将“form_no == 1”作为整数引用,而来自 GET 的数据是字符串。感谢您的帮助!以上是关于如何从选择菜单获取数据到后端/服务器的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 MDC 将从 JWT 获取的用户 ID 添加到后端日志?
如何将数据从 ydn-db Web 应用程序同步到后端服务器?