Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

FCKeditor met ajax

cor0612
6 antwoorden
  • Hallo allemaal,

    Ik heb een klein cms-je gebouwd wat werkt met FCKeditor en AJAX. Als de beheerder dus op 'opslaan' klikt haal de inhoud uit de editor en verzend deze via AJAX om het vervolgens op te slaan in de db.
    Het probleem is echter dat als ik speciale tekens gebruik (of spaties:  ) , dat het &-teken er voor zorgt dat JS het als een nieuwe waarde gaat zien. Misschien nog niet helemaal duidelijk, dus een vb:
    De volgende tekst moet verzonden worden:[code:1:f2ba60b7e0]<p align="center" style="text-align: center;" class="MsoNormal"><strong style="">Welkom<o:p></o:p></strong></p>
    <p align="center" style="text-align: center;" class="MsoNormal"><strong style=""><o:p>&nbsp;</o:p></strong></p>[/code:1:f2ba60b7e0]
    Met ajax:[code:1:f2ba60b7e0]xmlhttpEditPage.open('GET', 'ajax_editpage.php?page='+page+'&titel='+ajax_titel+'&editorcontent='+editorcontent, true);[/code:1:f2ba60b7e0]
    Maar als er dus een &-teken in de editorcontent zit, ziet JS na dit teken een nieuwe waarde.
    Hoe kan ik dit oplossen? Iets coderen oid?
    Bijv. Dank.
  • Laat ik de vraag anders stellen:
    Weet niemand de javascript vervanger voor de php functie urlencode?
  • Toen ik de vraag anders ging stellen wist ik gelijk waarop ik bij google kon zoeken. Het antwoord heb ik dan ook gevonden:[code:1:8605581c7a]/**
    *
    * URL encode / decode
    * http://www.webtoolkit.info/
    *
    **/

    var Url = {

    // public method for url encoding
    encode : function (string) {
    return escape(this._utf8_encode(string));
    },

    // public method for url decoding
    decode : function (string) {
    return this._utf8_decode(unescape(string));
    },

    // private method for UTF-8 encoding
    _utf8_encode : function (string) {
    string = string.replace(/
    /g,"
    ");
    var utftext = "";

    for (var n = 0; n < string.length; n++) {

    var c = string.charCodeAt(n);

    if (c < 128) {
    utftext += String.fromCharCode(c);
    }
    else if((c > 127) && (c < 2048)) {
    utftext += String.fromCharCode((c >> 6) | 192);
    utftext += String.fromCharCode((c & 63) | 128);
    }
    else {
    utftext += String.fromCharCode((c >> 12) | 224);
    utftext += String.fromCharCode(((c >> 6) & 63) | 128);
    utftext += String.fromCharCode((c & 63) | 128);
    }

    }

    return utftext;
    },

    // private method for UTF-8 decoding
    _utf8_decode : function (utftext) {
    var string = "";
    var i = 0;
    var c = c1 = c2 = 0;

    while ( i < utftext.length ) {

    c = utftext.charCodeAt(i);

    if (c < 128) {
    string += String.fromCharCode(c);
    i++;
    }
    else if((c > 191) && (c < 224)) {
    c2 = utftext.charCodeAt(i+1);
    string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
    i += 2;
    }
    else {
    c2 = utftext.charCodeAt(i+1);
    c3 = utftext.charCodeAt(i+2);
    string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
    i += 3;
    }

    }

    return string;
    }

    }[/code:1:8605581c7a]
  • Waarom zoek je niet gewoon even uit hoe POST via AJAX werkt? Ik heb zelf ook alleen met GET gewerkt, maar bij [i:fbfdf24f8c]xmlhttpEditPage.open('GET', **, true); [/i:fbfdf24f8c] staat niet voor niks 'GET', daar kan ook POST staan. Ik weet dan alleen even niet hoe je meegeeft wat hij moet POST'en, maar dat zal wel ergens op internet staan.. Wel zo netjes lijkt me.. :wink:

    En ja, als je tijdsgebrek hebt is dit ook goeie oplossing.. met POST is alleen mooier voor een die-hard coder :wink: :P

    EDIT: Ohw.. dat valt een beetje tegen dus..
    http://www.captain.at/howto-ajax-form-post-request.php, als ik deze pagina moet geloven moet je bij POST nog steeds gewoonweg de variabele in de URI meegeven.. raar.. dan is er eigenlijk geen verschil met gewoon GET gebruiken :-?
  • Via POST moet je inderdaad op dezelfde manier je gegevens meegeven. Maar dan niet in de url maar in de body:
    [code:1:94a336b650]ajax.send(titel=titel&zo=voort);[/code:1:94a336b650]
    Ik gebruik nu nl. ook POST omdat de url anders te lang werd oid, het werkte iid geval niet met GET.
  • [edit]Heb volgens mij de pagina iets te lang open gehad, waardoor ik toch zeker twee posts heb gemist :oops:
    Mijn bijdrage doet dus niet terzake..[/edit]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.