Ich habe mehrere Formulare, die zur Laufzeit von einer Vorlage-Engine generiert werden, um eine Ajax-Anfrage auf ihre Einreichung zu generieren habe ich die "on" -Methode verwendet Delegieren Sie das Ereignis.beim Senden von dynamisch generierten Formular, finden Sie die Schaltfläche zum Senden wurde geklickt
$("#friendRequestsList").on("submit", "[id^=friendReqResponse-form]", function(){
var form = this;
$(form).ajaxSubmit({
url:'URL',
type:'post',
dataType: 'json',
success: function(data) {
DO SOMETHING
}
});
return false;
});
Die Form hat Tasten 2 einreichen, und ich brauche zu erkennen, wer von ihnen angeklickt wurde und geben diese Information an die Ajax-Request. Allerdings fällt es mir schwer zu wissen, auf welche der Eingaben im Formular geklickt wurde, da sie auch dynamisch generiert wurden. Ideen?
Hinzufügen glaube ich, wenn Sie eine Submit-Button zuweisen (der 'input' und nicht' button' Sorte, zumindest) einen Wert, Dieser Wert sollte zusammen mit den übrigen Daten des Formulars übergeben werden. Ich bin mir nicht sicher, wie hilfreich das sein könnte, wenn Sie die Formularschaltflächen, mit denen Sie arbeiten, nicht anpassen können. – Connor
nein, sie sind beide "Eingabe" mit Typen übermitteln und anderen Werten, aber nur das Eingabefeld des Formulars wird als Formulardaten übergeben - wenn der Wert zusammen mit dem Rest der Formulardaten übergeben wurde, dann würde dies auch mein Problem lösen . – Alexjjsmith
Entschuldigung, ich muss mich geirrt haben. In diesem Fall könnte ich vorschlagen, Click-Ereignishandler an die Schaltflächen zu binden, anstatt einen Submit-Ereignishandler an das Formular zu senden, falls dies möglich ist. Ist dies nicht der Fall, binden Sie möglicherweise ein click-Ereignis an das gesamte Formular, greifen jedoch über [jQuery's 'event.target'] (https://api.jquery.com/event.target/) auf das angeklickte Element zu und senden basierend darauf, was angeklickt wurde ? – Connor