jquery получает URL-адрес действия публикации

81

Я пытаюсь получить доступ к целевому действию сообщения в функции jquery.

пример:

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

Я хотел бы получить доступ к части «действия» - «/ страница / пользователи» в этом случае.

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

Кажется, мне не хватает чего-то очень простого. Я вижу значение в dom, но не знаю, где оно хранится в jquery.

Благодаря!

Djburdick
источник

Ответы:

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

    alert('the action is: ' + $form.attr('action'));
});
Эми Б
источник
4
разве вторая строка не является ненужной, не может ли третья строка быть похожей на alert ('действие:' + $ (this) .attr ('action'));
Мохд Абдул Муджиб
1
Правда @ 9kSoft, но идея
понятна
12
К вашему сведению: live()устарел в 1.7 и удален в 1.9. Разработчики теперь должны использовать on()вместо этого.
vegemite4me 06
Это не работает, если в форме есть несколько кнопок отправки с разными действиями.
keoghpe
Извините, но это не сработает, если вы будете использовать атрибут formaction w3schools.com/tags/att_button_formaction.asp
zdarsky.peter
15

Попробуйте этот ocde ;;

var formAction = $("#signup").attr('action');
Викрам Бивал
источник
11

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

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

      alert(this.action);
});
Ферейдун Барикзехи
источник
Не полагайтесь на этот атрибут, поскольку он может вернуть список подузлов с именем action.
Хан,
Во-первых, actionатрибут используется только внутри formтега html. Во-вторых, вложенные forms - не лучшая практика и не хорошая идея для чистой оптимизации Html DOM.
Ферейдун Барикзехи