Forum Moderators: phranque

Message Too Old, No Replies

URL decoding for a web form

         

wileyl

3:10 am on Nov 27, 2006 (gmt 0)

10+ Year Member



Hi,

I'm trying to find out how to load url &var fields into a web form. I'm not really sure where to get started, so I thought I'd start here. Any information would be greatly appreciated.

URL looks like this:

http://www.example.com/webform.htm?dependent3_dobDD=03&spouse_gender=Female&City=Fort+Collins
&dependent1_dobMM=01&dependent4_dobYYYY=2000&dependent2_dobMM=02&dependent1_dobYYYY=1999
&formid=34&dependent3_dobYYYY=2000&FirstName=slackfaddenmacdaddytestmact
&dependent3_gender=Female&applicant_dobMM=01&applicant_dobDD=01
&dependent4_dobDD=04&WorkPhone=770-971-6508&applicant_gender=Male
&StreetAddress1=2199+spearpoint+dr.+apt+%23221212121212121212

Thanks,
Jim

[edited by: tedster at 5:07 am (utc) on Nov. 27, 2006]
[edit reason] added line breaks to fix side scroll [/edit]

eelixduppy

3:36 am on Nov 27, 2006 (gmt 0)



Welcome to WebmasterWorld, wileyl!

Would you prefer a JavaScript or a server-side scripting solution? (if server-side please specify which one :))

wileyl

3:24 pm on Nov 27, 2006 (gmt 0)

10+ Year Member



Thanks eelixduppy.

JavaScript or PHP would be great (whichever is easiest).

Thanks again!

kaled

6:15 pm on Nov 27, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Here's a little javascript I wrote a while back...

// Fills a form with parameters passed by url.
// The standard format is //..../page.html?name1=value1&name2=value2
// Parameters that are not recognised are ignored.
// Parameter names must correspond with element names in the form.
// Names are NOT case sensitive.
// Values are not case sensitive but case is preserved for text fields.
// To set or clear a checkbox, use name=1 or name=0 respectively.
// To set a radiogroup value, use name=value where value is the value of the button to be checked.

function loadParam(f,p) // f is a form, p is a string : 'name=value'
{
var pa = p.split('='); if (pa.length < 2) return false;
var n = pa[0].toLowerCase();
var v = pa[1].toLowerCase();
with (f) {
for (var i = 0; i < length; i++) with (elements[i]) {
if (n == name.toLowerCase()) {
var tp = type.toLowerCase();
if (tp == 'select-one') {
for (var j = 0; j < length; j++) if (options[j].text.toLowerCase() == v) {
selectedIndex = j;
break;
}}
else if ((tp == 'radio') && (value.toLowerCase() == v)) checked = true
else if (tp == 'checkbox') checked = ((v!= '') && (v.charAt(0)!= '0'))
else value = pa[1]
}}
}}


function loadParams(f) // f is a form
{
var tmp = unescape(document.location.search); if (tmp.charAt(0) == '?') tmp = tmp.substring(1);
if ((typeof(f) == 'undefined') ¦¦ (tmp == '')) return false;
tmp = tmp.split('&'); for (var i = 0; i < tmp.length; i++) loadParam(f,tmp[i]);
}


loadParams(document.forms[0]);

You may need to adjust the formatting to make sense of this code (leading spaces get stripped by WW).

Kaled.