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!

Respuestas:


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

    alert('the action is: ' + $form.attr('action'));
});

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


11

Limpio y simple:

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

      alert(this.action);
});

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.