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.