jquery nhận url hành động đăng


81

Tôi đang cố gắng truy cập hành động đích bài đăng trong một hàm jquery.

thí dụ:

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

Tôi muốn truy cập phần "hành động" - "/ trang / người dùng" trong trường hợp này.

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

Có vẻ như tôi đang thiếu một thứ rất đơn giản. Tôi thấy giá trị trong dom nhưng không biết nó được lưu trữ ở đâu trong jquery.

Cảm ơn!

Câu trả lời:


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

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

4
dòng thứ hai không cần thiết, không dòng thứ ba giống như cảnh báo ('hành động là:' + $ (this) .attr ('hành động'));
Mohd Abdul Mujib

1
Đúng @ 9kSoft, nhưng chúng tôi có ý tưởng :)
Kennyomar

12
FYI: live()không được dùng nữa trong 1.7 và bị xóa vào 1.9. Các nhà phát triển bây giờ nên sử dụng on()thay thế.
vegemite4me

Điều này dường như không hoạt động khi một biểu mẫu có nhiều nút gửi với các hành động khác nhau.
keoghpe

Xin lỗi, nhưng điều này sẽ không hoạt động nếu bạn đang sử dụng thuộc tính formaction w3schools.com/tags/att_button_formaction.asp
zdarsky.peter


11

Sạch sẽ và đơn giản:

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

      alert(this.action);
});

Đừng dựa vào thuộc tính này vì nó có thể trả về danh sách các subnodes có tên action.
Han

Đầu tiên, việc sử dụng actionthuộc tính duy nhất là bên trong thẻ html. formThứ hai, các thuộc tính lồng vào nhau formkhông phải là phương pháp hay nhất hoặc ý tưởng hay để có một tối ưu hóa sạch sẽ Html DOM.
Fereydoon Barikzehy 21/09/18
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.