Rolf B: DOMParser und Progressive Enhancement

Beitrag lesen

problematische Seite

Hallo pl,

Weder das <form> noch der serverseitige Code ist hinsichtlich PE zu ändern.
Mein CODE macht das alles.

Genau das ist mein Kritikpunkt: Es steckt im CODE. Und zwar spezifischem Code für dieses Form. Der für jede Änderung am Form synchron zu ändern ist. Das ist schlecht. Ziel von Software-Engineering ist Entkoppelung. Deine Lösung schafft eine starke Kopplung zwischen JS und HTML. Darum sollte alles fachspezifische im Markup stecken. class="updatePanel" und data-defaultSubmit="..." sind in der Javascript-freien Lösung ohne Bedeutung. Mit JavaScript führen sie zum PE.

Und zwar voll funktional: Du kannst Enter drücken

Genau das hat bei mir vorhin nicht funktioniert. Hm. Hast Du dies hier frisch eingebaut? Ich meine nämlich, dass da eben noch kein if stand. Hätt ich mal 'nen Screenshot gemacht.

    if( elm.name == 'jd' || elm.name == 'jd2date'){
        param += ";jd2date=1";
    }
    else if( elm.name == 'date' || elm.name == 'date2jd'){
        param += ";date2jd=1";
    }

Aber dieser Code verschärft den Anlass für meine Kritik an der Lösung noch. Das JS ist spezifisch an das Form anzupassen. Dabei ist es eigentlich Boilerplate-Code, den man nicht für jedes Form neu schreiben (und testen!) möchte. Wer ist denn hier der Framework-Spezi? Genau sowas gehört in den Client-Teil eines Frameworks.

Rolf

--
sumpsi - posui - clusi