Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Formulario con 2 acciones diferentes

Usamos la función attr de jQuery para cambiar valor del atributo action del formulario que contiene la url donde se procesaran los diferentes elementos del form. Y las url las pasamos en ese caso por medio del tag “dir” en cada botón.
$(document).ready(function(){
    
    $("input[type=submit]").click(function() {
        var accion = $(this).attr('dir');
        $('form').attr('action', accion);
        $('form').submit();
    });
    
});
el código del formulario
<form method="post" action="">
    <input type="submit" name="boton_1" id="boton_1" value="Boton 1" dir="accion_1.php" />
    <input type="submit" name="boton_2" id="boton_2" value="Boton 2" dir="accion_2.php" />
</form>
fuente
5
Puntos
5621
Visitas
2
Resp
Por alber hace 123 meses
Administrador
Respuesta #1
Hola buena función, pero creería que es más optimo de esta manera:
$(document).ready(function(){ 
    $("input[type=submit]").click(function(e) {
        e.preventDefault();
        var accion = $(this).attr('dir'),
            $form = $(this).closest('form');
        if(typeof accion !== 'undefined'){
            $form.attr('action', accion);
        }
        $form.submit();
    });
});
Esto soluciona dos inconvenientes, evitar el submit del formulario antes de que cambie el action y segundo que funcione para cualquier tipo de formulario que tengamos. Independientemente de que si queremos o no cambiar el action.

Saludos
5
Puntos
Por jonni09lo hace 123 meses
Experto
Respuesta #2
simple y efectivo, sobre todo para ahorrar y reutilizar código
0
Puntos
Por zeuskx hace 123 meses
Administrador Sitio web
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate