我有一个django表单,有两个不同的提交按钮,在表单提交到的视图上,我需要知道按下了什么提交按钮,并相应地采取不同的操作。
从我读过的提交按钮的名称或id应该在请求中的某个地方。发布字典,但它不在那里!
这是我的形式的片段:
<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从不在请求中。帖子,另一个也不是,我应该找别的地方吗?
我唯一的想法是在发送表单之前添加一个隐藏字段并通过javascript修改它,但这似乎有点多余,因为我很确定数据应该在某个地方。..
谢谢!
出于某种原因,在Chrome中,当我有两个使用
<input/>
标签的按钮时,它实际上会将我没有点击的按钮视为输入。 这样,当我测试像'sendPaperButton' in request.POST
这样的东西时,它会返回与我想要的相反的东西。我将这些更改为
<button></button>
标签,它工作正常。