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>fuente5
Puntos
Puntos
5528
Visitas
Visitas
2
Resp
Resp
Por alber hace 11 años
Admin
Respuesta #1
Hola buena función, pero creería que es más optimo de esta manera:
Saludos
$(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
Puntos
Por jonni09lo hace 11 años
Master
Respuesta #2
simple y efectivo, sobre todo para ahorrar y reutilizar código
0
Puntos
Puntos
Por zeuskx hace 11 años
Mods