我有一个Django表单,有两个不同的提交按钮,在提交表单的视图中,我需要知道提交按钮是按下的,相应的不同行为。Django request.POST不包含提交表单的按钮名称
从我读过的提交按钮的名称或ID应该在request.POST字典中的某处,但它不在那里!
这是我的形式片段:
<form id="editPaperForm" action="{{paper.editURL}}" method="POST">
<input type="submit" name="savePaperButton" id="savePaperButton" value="Save and Send Later"/>
<input type="submit" name="sendPaperButton" id="sendPaperButton" value="Save and send"/>
...
</form>
在视图:
...
if 'sendPaperButton' in request.POST:
return applicants_confirmSend(request, paperID)
else:
return applicants_home(request)
sendPaperButton是从未在request.POST,也不是另外一个,我应该看别的地方?
我唯一的想法就是添加一个隐藏字段和发送表单之前通过javascript修改,但因为我敢肯定,数据应该存在的地方,似乎有点多余...
谢谢!
您是否尝试过查看您的浏览器通过http调试器(如Charles或Fiddler)发送的内容? – 2010-01-29 04:15:25
不,我没有,但你让我好奇浏览器发送什么,所以我尝试了不同的浏览器(使用Firefox 3.5,试过Chrome 4和IE6),结果发现Chrome和IE6确实发送了按钮ID和值, Firefox不会......用Javascript添加值猜测隐藏的输入是我唯一的选择? – 2010-01-29 04:33:21
为什么不使用复选框或其他适当的表单元素? – 2010-01-29 05:12:01