jquery obteniendo la URL de la acción posterior

81

Estoy tratando de acceder a la acción de destino posterior en una función jquery.

ejemplo:

<form action="/page/users" id="signup" method="post">

Me gustaría acceder a la parte "acción" - "/ página / usuarios" en este caso.

$('#signup').live("submit", function(event) {
    // get this submitted action
}

Parece que me estoy perdiendo algo muy simple. Veo el valor en el dom pero no sé dónde está almacenado en jquery.

¡Gracias!

djburdick
fuente

Respuestas:

126
$('#signup').on("submit", function(event) {
    $form = $(this); //wrap this in jQuery

    alert('the action is: ' + $form.attr('action'));
});
Amy B
fuente
4
¿No es innecesaria la segunda línea? ¿No podría la tercera línea ser como alerta ('la acción es:' + $ (esto) .attr ('acción'));
Mohd Abdul Mujib
1
Verdadero @ 9kSoft, pero tenemos la idea :)
Kennyomar
12
FYI: live()fue obsoleto en 1.7 y eliminado en 1.9. Los desarrolladores ahora deberían usar on()en su lugar.
vegemite4me
Esto no parece funcionar cuando un formulario tiene varios botones de envío con diferentes acciones.
keoghpe
Lo sentimos, pero esto no funcionará si va a utilizar el atributo de formaction w3schools.com/tags/att_button_formaction.asp
zdarsky.peter
15

Prueba este ocde ;;

var formAction = $("#signup").attr('action');
Vikram Biwal
fuente
11

Limpio y simple:

$('#signup').submit(function(event) {

      alert(this.action);
});
Fereydoon Barikzehy
fuente
No confíe en este atributo, ya que puede devolver la lista de subnodos con nombre action.
Han
Primero, el único uso del actionatributo es dentro de una formetiqueta html. En segundo lugar, los forms anidados no son la mejor práctica o una buena idea para tener un limpio optimizado Html DOM.
Fereydoon Barikzehy