[Snippet/Javascript] sammleDaten

Wenn man ein Formular mit Ajax abschicken will kommt man schnell in die Situation,
dass man sich die Daten oder einen Datensatz selbst zusammenbauen muss.
Mit jQuery ist das kein Problem, ohne sieht die Sache da aber schon ganz anders aus.

Meine Funktion geht Rekursive das übergebene HTMLElement durch und guckt ob es ein
Typisches Formular Element ist (Textarea, Input und Selextbox). Ist das der Fall wird der
Value mit dem Namen in einem Array gespeichert und am Ende zurückgegeben.

/**
 *
 * Liefert alle Daten aus einem Formular in einem Array
 *
 * @param formular HTMLElement Formular in dem nach Daten gesucht werden soll
 * @return Array Im Format ["key=value","key=value"]
 *
 */

function sammleDaten(formular) {
    var daten = [];
    var ue = formular.childNodes;
    for (var i in ue) {
        if (ue[i].tagName && ue[i].name &&
            (ue[i].tagName == "INPUT" || ue[i].tagName == "TEXTAREA" || ue[i].tagName == "SELECT")) {
            var inhalt = null;
            if (ue[i].value) {
                inhalt = ue[i].value;
            }
            daten.push(ue[i].name + "=" + inhalt);
        }
        daten = daten.concat(sammleDaten(ue[i]));
    }
    return daten;
}

Ein Gedanke zu „[Snippet/Javascript] sammleDaten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.