Gibt es eine Möglichkeit, die Aufrufe von .bind() und .trigger() von jQuery zum Ausführen einer benutzerdefinierten Funktion (zB: save()) zu verwenden und nach der Rückgabe zu handeln von der Methode? Zum Beispiel:Verwenden Sie jQuery .trigger, um eine benutzerdefinierte Funktion aufzurufen, die einen Wert zurückgibt.
$("#aForm").bind ('save', function() {
return true;
});
und dann:
if ($("#aForm").trigger ('save') == true) {
doSomething();
}
Ich versuche zu vermeiden, das aus dem einfachen Grund, dass ich mehrere Formulare in einem Dialog habe (jeweils in einem separaten Tab). Ich möchte, dass der Dialog selbst die "save" -Methode jedes Formulars basierend auf einem "dreckigen" Flag aufruft. Deshalb versuche ich, die Funktionen "doSomething()" und "doSomethingElse()" aus den Formularen herauszufiltern - das heißt, das Hauptdialogfeld behandelt den Gesamtablauf. Ich möchte nur, dass jedes der Formulare mit dem Speichern ihrer Daten fertig wird - oder dass es false zurückgibt, wenn beim Speichern der Daten ein Fehler auftritt. Ist es möglich, mit .extend() eine benutzerdefinierte "Speichern" -Funktion zu jedem Formular hinzuzufügen? – Dave
Warum haben Sie keine Validierungsmethode, die die Validierung behandelt? Sie sollten an das Ereignis "submit" Ihres Formulars binden und dann die Validierung ausführen. Wenn die Validierung erfolgreich ist, senden Sie das Formular. –
Wäre es nicht möglich, eine neue Funktion namens 'save' oder 'saveData' hinzuzufügen, genau wie es das Validierungs - Plugin tut, um dem Formular eine neue Funktion hinzuzufügen und dann diese Methode zum Speichern der Daten? Ich habe kein Plugin erstellt, aber das scheint der elegantere Weg zu sein, um das zu erreichen, was ich versucht habe, nein? – Dave