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


81

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

пример:

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

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

$('#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
разве вторая строка не является ненужной, не может ли третья строка быть похожей на 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


11

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

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

      alert(this.action);
});

Не полагайтесь на этот атрибут, поскольку он может вернуть список подузлов с именем action.
Хан,

Во-первых, actionатрибут используется только внутри formтега html. Во-вторых, вложенные forms - не лучшая практика и не хорошая идея для чистой оптимизации Html DOM.
Ферейдун Барикзехи
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.