Tengo un formulario django con dos botones de envío diferentes, en la vista donde se envía el formulario Necesito saber qué botón de enviar se presionó y tomar diferentes acciones en consecuencia.Django request.POST no contiene el nombre del botón que envió el formulario
Por lo que he leído, el nombre o id del botón de envío debe estar en algún lugar del diccionario request.POST, pero no está allí.
Este es un fragmento de mi formulario:
<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>
En la vista:
...
if 'sendPaperButton' in request.POST:
return applicants_confirmSend(request, paperID)
else:
return applicants_home(request)
sendPaperButton nunca está en el request.POST, y tampoco lo es el otro, debo buscar ¿en algún otro lugar?
La única idea que tengo es añadir un campo oculto y modificarlo a través de JavaScript antes de enviar el formulario, pero que parece un poco redundante, ya que estoy bastante seguro de que los datos deben ser un punto intermedio ...
Gracias !
¿Ha intentado ver lo que su navegador envía a través de un depurador de http como Charles o Fiddler? –
No, no lo he hecho, pero me dieron curiosidad sobre lo que el navegador estaba enviando, así que probé con un navegador diferente (estaba usando Firefox 3.5, intenté con Chrome 4 e IE6), resultó que Chrome e IE6 enviaron la identificación y el valor del botón, Firefox no ... ¿adivinar la entrada oculta con el valor agregado de Javascript es mi única opción? –
¿Por qué no usar una casilla de verificación o algún otro elemento de formulario adecuado? –