pl: ContentEditable und Cursor

Beitrag lesen

problematische Seite

Mit demselben oder gar geringeren Aufwand kannste da auch alles zusammen zum Server schicken

Leider nein, weil eben nicht alle name-value-Paare übermittelt werden.

Leider hast Du überhaupt nicht verstanden was ich schrieb. Also Beispiel, mein Code:

// EAV zusammenbauen und senden per AJAX
function speichern(){
    throbber(true);
    var eav = {};
    for(var i = 0; i < IMGNAMES.length; i++){
        eav[IMGNAMES[i]] = {
            img_title : $(document.getElementById(IMGNAMES[i]+'img_title')).text(),
            img_alt   : $(document.getElementById(IMGNAMES[i]+'img_alt')).text(),
            img_descr : $(document.getElementById(IMGNAMES[i]+'img_descr')).html(),
            ref_url   : $(document.getElementById(IMGNAMES[i]+'ref_url')).text(),
            mark4del  : document.getElementById(IMGNAMES[i]+'mark4del').checked == true ? 1 : 0
        };
    }
    // Schlüsselparameter hinzufügen
    eav.param = {speichern:1};
    
    var xhr = new XMLHttpRequest();
    xhr.open('PUT','%url%');
    xhr.setRequestHeader('Content-Type', 'multipart/c-eav');
    xhr.onload = function(){
        throbber(false);
        if(xhr.status != 200) return pretext(xhr.response);
        
        //location.reload();
    }
    xhr.send( cEAV.encode_eav(eav) );
}

Sendet alles zusammen wobei es egal ist, wieviele Einträge das Array mit den Bildernamen hat und wieviele Attribute je Bild vergeben werden. Bei 150 Bildern ergeben sich etwa 15 kbyte (Content-Length) an Daten je Speichern-Request und selbst bei einer zigfachen Datenmenge würde ich mich darauf verlassen können, dass stets alles am Server ankommt, wann immer ich auf den Knopf 'Speichern' drücke.

Ich habe zwar hier einen proprietären Serializer/Enctype aber dass das auch mit JSON (wenn auch langsamer) funktioniert davon bin ich überzeugt.

MfG