Con el atributo formaction de HTML5 podemos cambiar el action de un formulario dependiendo del botón en el que se haga click.
El cambio se puede hacer agregando este atributo a los input de tipo ‘submit’, en caso de clickarse uno de estos input el action será el que tenga definido el input. En el caso opuesto se hará el ‘action’ que tenga asignado el formulario.
Os voy a poner la sintaxis estraída de la web oficial:
<input type="submit" formaction="action2.php" value="Otro action">
Tal y como veis es fácil agregar el atributo con un nuevo action, ahora solo nos falta ver un ejemplo práctico.
Os pongo un sencillo código de formulario con 2 opciones de action:
<form action="action1.php"> Nombre: <input type="text" name="nombre"><br> Apellidos: <input type="text" name="apellidos"><br> <input type="submit" value="Submit por defecto"><br> <input type="submit" formaction="action2.php" value="Nuevo action por atributo"> </form>
En este ejemplo si se pulsa el primer botón se ejecutará el action del formulario, en cambio, si se pulsa el segundo botón de tipo submit se procesará un action diferente.
En esta otra url tenéis todos los nuevos atributos HTML5 para inputs y formularios.
En esta url tenéis el listado completo de los nuevos input de HTML5.