我有一個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