jquery отримання URL-адреси після дії


81

Я намагаюся отримати доступ до цільової дії у функції jquery.

приклад:

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

Я б хотів отримати доступ до частини "action" - "/ page / users" у цьому випадку.

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

Здається, мені не вистачає чогось дуже простого. Я бачу значення в dom, але не знаю, де воно зберігається в jquery.

Дякую!

Відповіді:


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

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

4
чи не є зайвим другий рядок, чи не може третій рядок бути подібним до попередження ('дія:' + $ (this) .attr ('action'));
Мохд Абдул Муджиб

1
Правда @ 9kSoft, але ми зрозуміли ідею :)
Кенньомар,

12
FYI: live()припинено в 1.7 та вилучено в 1.9. on()Замість цього розробники повинні використовувати .
vegemite4me

Здається, це не працює, якщо у формі є кілька кнопок подання з різними діями.
keoghpe,

Вибачте, але це не спрацює, якщо ви будете використовувати атрибут формації w3schools.com/tags/att_button_formaction.asp
zdarsky.peter


11

Чисто і просто:

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

      alert(this.action);
});

Не покладайтесь на цей атрибут, оскільки він може повернути список підвузлів, що мають ім'я action.
Ган

По- перше, тільки використання actionатрибута знаходиться всередині HTML formtag.Second, вкладені forms не найкраща практика або хороша ідея , щоб мати чистий оптимізовано Html DOM.
Fereydoon Barikzehy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.