lo-ga-rie words, lines .. life

18Nov/090

Bezig

Op het moment ben ik bezig met een google maps project waarbij ik verschillende onderdelen van de nieuwe google maps v3 api gebruik om een interactieve "sleur en pleur" ervaring te bewerkstelligen met een onderwerp waar veel mensen wel iets mee hebben: Vakantie!

Binnenkort online en vlak erna de uitleg, wees gerust ;)
Een kleine verdieping op het gebied van google maps, geocoding, utf8, "using the cloud" en meer. Voor nu hou ik het even op een mooie functie in javascript die soms erg makkelijk kan zijn: (un)escape

Situatie

We hebben een input van een gebruiker die via de url doorgestuurd moet worden naar een andere pagina (GET, iframe)

Als je dit post zal je browser dit automagisch escapen naar

/?send=hello%20world

En als je vervolgens dit in een veld wilt tonen, bv met ID jwz dan zal de %20 meegenomen worden als je het volgende gebruikt:

document.getElementById("jwz").innerHTML = document.location.search.substr(document.location.search.indexOf("=") + 1);

Om hier van af te komen gebruik je de unescape functie van javascript

document.getElementById("jwz").innerHTML = unescape(document.location.search.substr(document.location.search.indexOf("=") + 1));

Maar stel je wilt dit formulier via AJAX posten (ik gebruik nu even jQuery omdat ik dat het meest gebruik, maar (un)escaping is standaard javascript)

$("form").submit(function () {
 var escaped = escape($("toSend").val());
  // do stuff with the escaped string
});

Nu is de var escaped ook via de URL door te sturen zonder dat je rekening hoeft te houden met of er niet correcte karakters worden gebruikt.
Soms is het handig om te hebben en nu weet je het ;)

Filed under: jquery, werk Leave a comment
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


No trackbacks yet.