Halli hallo,
Frage zur frühen Stunde (naja, 10:00 Uhr...): Wie bastele ich ein Script mit jQuery, welches ein beliebiges aufrufendes Formular als Affenformular behandelt? Folgende Basis habe ich bereits:
JavaScript
$(function() {
$("form").submit(function() {
//Das eigentliche action verhindern
event.preventDefault();
//Metadaten zum Senden vom entspr. Formular kriegen
var formurl = $(this).attr("action");
var formdata = $(this).serialize();
var formmethod = $(this).attr("method");
/* Hier würde ich gerne noch eine Überprüfung der Daten einbauen,
* bevor das Skript gesendet wird. Quasi ein JS Affenformular,
* also sollen diese Daten auch wieder im richtigen Formular erscheinen!
*/
// Daten senden
$.ajax({
type: formmethod,
url: formurl,
data: formdata,
statusCode: {
404: function() {
//Frage: Geht dieser Aufruf so? Ich habe in jedem Formular ein div mit Klasse "message", wobei ich abhängig vom aufrufenden Formular das Richtige ansprechen möchte
$(this ".message").addClass("error");
$(this ".message").html("Das angegebene Programm konnte nicht gefunden werden!");
console.log("Fehler 404: " + formurl);
// Und auch hier wieder die Daten ins Form einbauen!
},
200: function(data) {
/* Hier Daten auslesen, um zu gucken, ob das Eintragen erfolgreich war
* wenn ja, wird success == true; gesendet, sonst nicht
*
* Dementsprechend Klasse zur Messagebox waehlen.
* Uebrige Daten enthalten die Nachricht, zB "erfolgreich eingeloggt" oder "falsches Passwort"
*/
$(this ".message").html(/* Hier die data der Nachricht */);
}
}
});
});
});
Alles anzeigen
Code sollte ausreichend kommentiert sein um Details zu erklären.
NochmalÖ Es soll ein Skript werden, welches für jedes Formular läuft. Da ich jQuery sowieso auch für andere Dinge einbaue, nehme ich es auch hier, ist leichter