pl: DOMParser und Progressive Enhancement

Beitrag lesen

problematische Seite

nur ist das serverseitig nicht implementiert. Ergo mache ich das clientseitig.

Das Submitten per Enter aus dem jeweiligen Eingabefeld heraus ist serverseitig gar nicht implementierbar. Die Zuordnung der Felder lässt sich nur mit JS realisieren und genau das ist Progressive Enhancement:

    // Welcher Button wurde geklickt
    // In welchem Eingabefeld ist der Cursor
    var btn = ev.currentTarget.querySelector("button:focus");
    var inp = ev.currentTarget.querySelector("input:focus");
    var elm = btn || inp; // Klick oder Enter
    var param = $(document.forms[0]).serialize();
    if( elm.name == 'jd' || elm.name == 'jd2date'){
        param += ";jd2date=1";
    }
    else if( elm.name == 'date' || elm.name == 'date2jd'){
        param += ";date2jd=1";
    }

Und natürlich muss der Action-Parameter angehängt werden. Ob das über FormData.append() gemacht wird oder wie obenstehend ist unerheblich, dafür ist der Transportlayer ja transparent.

Die Umkehrung von form.serialize() wäre interessant. Denn es ist ja 1:1 dasselbe Form, also was die Response schickt und was im Browser ist. So kann die Zuweisung der Werte automatisiert werden, von doc(response) zu document(DOM). Das wäre auch ein Schritt zur Enkopplung. Mit FormData jedoch ist eine Umkehrung nicht möglich.

MFG