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

Javascript vraagje (variabelen)

Dupke
3 antwoorden
  • Goedemorgen,

    Werk veel met variabelen die ik naar een volgende pagina stuur.

    Voorbeeld:

    webpage.html?test&testje&nog een test

    Om de variabelen te splitsen gebruik ik het volgende scriptje:

    [quote:24c9d37857]
    <script TYPE="text/javascript" LANGUAGE="JavaScript"><!–//
    var get_vars = new Array();
    var IE = (navigator.userAgent.indexOf('MSIE') > -1);
    var appr = location.search.substr(1);
    if (IE) appr = unescape(appr);
    var pairs = appr.split('&');
    for (var i = 0; i < pairs.length; i++) {
    var items = pairs.split('=');
    get_vars[unescape(items[0])] = items[1];
    }
    //–></script>
    [/quote:24c9d37857]

    De volgende variabelen worden keurig gesplitst:

    pairs[0] = test
    pairs[1] = testje
    pairs[2] = nog een test

    In Explorer werkt dit allemaal prima, maar wanneer iemand gebruik maakt van bijvoorbeeld Mozilla worden spaties omgezet in '%20'.

    Ben al even bezig geweest, maar ik zie het niet helemaal…

    Is het mogelijk om deze (eventueel) aanwezige '%20' te vervangen door een spatie? Zodat in iedere browser een spatie een spatie is.

    Graag jullie hulp.

    Mijn dank is groot!

    Dupke
  • Dat is mogelijk met de functie decodeURI.
    Let er wel op dat die pas vanaf IE 5.5 ondersteund wordt (Javascript 1.5).
  • Werkt unescape ook niet gewoon?

    /edit:
    mmm, zie net dat je die niet (meer) daarvoor mag gebruiken. Unescape/escape zijn deprecated (maar dus wel bruikbaar voor browsers die de nieuwe functies niet ondersteunen).

Beantwoord deze vraag

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