Establecer un atributo de acción del formulario al enviar?

¿Cómo cambio el atributo de acción de un formulario justo después de hacer clic en el botón de enviar?

Adjunte al evento submit click y cambie el atributo action en el controlador de eventos.

  

O puede modificarlo desde fuera del formulario, con javascript de la manera normal:

  document.getElementById('form_id').action = 'somethingelse'; 

Hay una manera simple de hacerlo si solo necesita admitir navegadores modernos: en su botón de envío, agregue un formaction="/alternate/submit/url" como formaction="/alternate/submit/url" :

 
[fields]

También funciona en tags .

El problema es que las versiones antiguas de IE (<10) y el navegador de Android (<4.0) no lo admiten. Por lo tanto, si necesita admitir navegadores más antiguos, las respuestas JS existentes probablemente funcionen mejor para usted.

Más información: http://www.wufoo.com/html5/attributes/13-formaction.html

También puede establecer el valor del atributo onSubmit en la etiqueta del formulario. Puede establecer su valor usando Javascript.

Algo como esto:

 
Here is your entire form
;

Recuerde que onSubmit tiene mayor prioridad que el atributo de acción. Por lo tanto, siempre que especifique el valor onSubmit , esa operación se realizará primero y luego el formulario pasará a la acción.

Puedes hacer eso en javascript.

  

Cuando se hace clic, la función de JavaScript ActionDeterminator () determina la URL de acción alternativa. Código de ejemplo

 function ActionDeterminator() { if(document.myform.reason[0].checked == true) { document.myform.action = 'http://google.com'; } if(document.myform.reason[1].checked == true) { document.myform.action = 'http://microsoft.com'; document.myform.method = 'get'; } if(document.myform.reason[2].checked == true) { document.myform.action = 'http://yahoo.com'; } return true; } 

La formacion de HTML5 no funciona en navegadores IE antiguos. Una solución fácil, basada en algunas de las respuestas anteriores, es: