Tôi có biểu mẫu django với hai nút gửi khác nhau, trên trang xem biểu mẫu được gửi tới đâu tôi cần biết nút gửi được nhấn và chụp hành động khác nhau cho phù hợp.Yêu cầu Django.POST không chứa tên của nút đã gửi biểu mẫu
Từ những gì tôi đã đọc tên hoặc id của nút gửi phải ở đâu đó trong từ điển request.POST, nhưng không có ở đó!
Đây là một đoạn của hình thức của tôi:
<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>
Trong giao diện:
...
if 'sendPaperButton' in request.POST:
return applicants_confirmSend(request, paperID)
else:
return applicants_home(request)
sendPaperButton là không bao giờ trong request.POST, và không phải là một trong những khác, tôi nên tìm kiếm ở đâu khác?
Ý tưởng duy nhất tôi có là để thêm một lĩnh vực ẩn và sửa đổi nó thông qua javascript trước khi gởi đơn nhưng điều đó dường như loại dư thừa vì tôi khá chắc chắn rằng dữ liệu nên có một nơi nào đó ...
Cảm ơn !
Bạn đã thử xem những gì trình duyệt của bạn gửi qua trình gỡ rối http như Charles hay Fiddler? –
Không, tôi không có, nhưng bạn khiến tôi tò mò về những gì trình duyệt đang gửi nên tôi đã thử một trình duyệt khác (đang sử dụng Firefox 3.5, dùng thử Chrome 4 và IE6), hóa ra Chrome và IE6 gửi id và giá trị nút, Firefox không ... đoán đầu vào ẩn với giá trị gia tăng Javascript là lựa chọn duy nhất của tôi? –
Tại sao không sử dụng hộp kiểm hoặc một số yếu tố biểu mẫu thích hợp khác? –