2014-02-08 93 views
0

我正面临与django(使用shopcart)一起工作的问题。我想添加一个选项字段来动态更改购物车中的商品订单,但我没有从模板中获取选定的值。从模板中获取下拉值django

在我的模板,我显示我车有:

<form action="" method="GET">{%csrf_token%} 
<select name="suscr" title="suscr"> 
<option value="" selected>Suscribe</option> 
<option value="1" name="suscr" >Weekly</option> 
<option value="2" name="suscr">Monthly</option> 
</select> 
</form> 

我要选择一个选项,然后,如果我按“结账”有车更新。

从那里,我相信它缺少一个方法修改cart.py中的项目。

任何想法都会有帮助。

感谢

以上形式是循环 内{%在购物车%项}

+0

你能澄清你的意思是“没有得到从模板中选择的值”?我假设你有一些意见,你的表单正在提交,并且action属性实际上不是空白的?用户提交后,url中是否显示“suscr = ”? – rmehlinger

+0

请注意,如果订阅选项仅作为标题使用,则实际上不应将其作为下拉菜单的一部分;改为使用标签。如果它是一个有意义的选项,那么它的值不应该是空白的。 – rmehlinger

+0

我的意思是它没有检索价值。在我看来,我检查方法GET – lorenag83

回答

0

什么我建议你做的是不是蟒蛇为导向,但所有的JavaScript大部分为,从描述中,我们假设你正在处理的是全部在客户端。

当你正在处理一个购物车,我会做的是存储用户正在以sessionStorage检查,以便当用户浏览您的网站即使有多个选项卡中的信息将持续。由于用户可能只是在购物网站上“四处走动”,因此无需知道用户是否愿意将事物推送到数据库。只要删除form,并保持与选择,然后你得到什么用户选择附加属性选择:<select onchange=my_function(this.value)>...</select>然后,在my_functionscript改变任何你想要的页面。

当用户进入购物车页面时,您会看到他目前选择从sessionStorage获得物品,然后如果他/她确认要购买物品,则将表单提交到服务器端,更新数据库和工作流程的状态。

TL;博士:存储在sessionStorage的的选项,只是张贴在服务器到底。 在服务器端的帮助更新您的问题与更多的信息关于cart.py

+0

感谢您的回复。在用户开始结账之前,我已经在会话中存储购物车。但是,当我向用户展示购物车(在会话中)时,我给他们选择为每个项目选择“可供选择的类型”的选项。然后,我想要使用select选项中的选择来更新该会话。 (不需要额外的按钮,直接从选择选项)。希望我能澄清我的问题。 – lorenag83

+0

因此,问题是从'