This question about Topic Markup Language and applications: Answered
Decoding Html Spaces
I have a hopefully very simple question, that for some reason I can't seem to find an answer to.
I've got one page that has a few form field values. I've wrapped those with
%ENCODE%
so I can pass them as GET parameters using an HTML form.
The target of the form is another page where I'm using
%URLPARAM%
to grab the values and display them.
It works perfectly, except that it doesn't decode the =%20='s back into normal spaces. I'm going to be kicking myself when I know the answer, I'm sure, so if somebody could go ahead and kick me I'd appreciate it
Sample source page (shortened):
<form action="http://twiki.citizensfla.com/bin/view/Main/PushNotificationEmail" method="get">
<input type="hidden" name="date" value=%ENCODE{%FORMFIELD{Date}%}% /> \
<input type="hidden" name="time" value=%ENCODE{%FORMFIELD{Time}%}% /> \
</form>
Date for instance shows up as
21%20Sep%202009
Line from target page:
Scheduled Time: %URLPARAM{"date" encode="entity" }% - %URLPARAM{"time" encode="url" }%
Spaces remain encoded.
Update: Oh, and as you see I was playing with the "encode" attribute for both ENCODE and URLPARAM on and off, but was unable to find a combination that made a difference. Tried both with and without.
I realize decoding stuff received via GET param blindly could be bad - maybe there's a better way I can do this? At the moment I really only care about restoring spaces.
Accepted Answer
You don't have to do this. A value taken from an input will be URL encoded by default. By using ENCODE you are double-encoding the value.
For example,
<form method="GET">
<input type="text" name="blah" value="%FORMFIELD{"Subject"}%" />
<input type="submit" />
</form>
renders to this:
Click the "submit" button to see the result:
Now, if you look in the URL bar, you should see that the parameter is URL encoded (spaces are replaced by + signs)
--
CrawfordCurrie - 21 Oct 2009
Thanks! Based on the above example I found the real problem - the quotes. I didn't think I could do nested double-quotes, so I ended up losing part of my spaced strings before they even made it to being posted to the GET URL. Had misunderstood the problem of being one related to encoding during all the tinkering.
Appreciate it
--
RasmusPraestholm - 26 Oct 2009