jquery bekommt post action url


80

Ich versuche, in einer jquery-Funktion auf die Post-Target-Aktion zuzugreifen.

Beispiel:

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

Ich möchte in diesem Fall auf den Teil "Aktion" zugreifen - "/ page / users".

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

Scheint, als würde mir etwas sehr Einfaches fehlen. Ich sehe den Wert im Dom, weiß aber nicht, wo er in jquery gespeichert ist.

Vielen Dank!

Antworten:


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

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

4
Ist die zweite Zeile nicht unnötig, könnte die dritte Zeile nicht wie eine Warnung sein ('die Aktion ist:' + $ (this) .attr ('Aktion'));
Mohd Abdul Mujib

1
True @ 9kSoft, aber wir haben die Idee :)
Kennyomar

12
Zu Ihrer Information: live()wurde in 1.7 veraltet und in 1.9 entfernt. Entwickler sollten jetzt on()stattdessen verwenden.
vegemite4me

Dies scheint nicht zu funktionieren, wenn ein Formular mehrere Senden-Schaltflächen mit unterschiedlichen Aktionen enthält.
Keoghpe

Entschuldigung, aber dies wird nicht funktionieren, wenn Sie das Formaktionsattribut w3schools.com/tags/att_button_formaction.asp
zdarsky.peter

15

Versuchen Sie dieses ocde ;;

var formAction = $("#signup").attr('action');

11

Sauber und einfach:

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

      alert(this.action);
});

Verlassen Sie sich nicht auf dieses Attribut, da es möglicherweise die Liste der Unterknoten mit Namen zurückgibt action.
Han

Erstens befindet sich das actionAttribut nur in einem HTML- formTag. Zweitens sind verschachtelte forms keine bewährten Methoden oder eine gute Idee für eine saubere Optimierung Html DOM.
Fereydoon Barikzehy
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.