Sometimes you need to retrieve a querystring parameter or two for use in a JavaScript function. Or you are stuck in a static environment, you only have HTML to work with, and you need to pre-populate a form. This handy function will enable you to do that.
function Querystring(qs) { // optionally querystring to parse
this.params = new Object()
this.get=Querystring_get
if (qs == null)
qs=location.search.substring(1,location.search.length)
if (qs.length == 0) return
// Turn '+' back to ' '
qs = qs.replace(/+/g, ' ')
var args = qs.split('&') // parse out name/value pairs separated via &
// split out each name=value pair
for (var i=0;i<args.length;i++) {
var value;
var pair = args[i].split('=')
var name = unescape(pair[0])
if (pair.length == 2)
value = unescape(pair[1])
else
value = name
this.params[name] = value
}
}
function Querystring_get(key, default_) {
// change UNDEFINED to NULL
if (default_ == null) default_ = null;
var value=this.params[key]
if (value==null) value=default_;
return value
}
/*
Parse the current page's querystring
var qs = new Querystring()
Parse a given querystring
var qs2 = new Querystring("name1=value1&name2=value2")
Querstrying.get(name[, default_value])
Returns the value of querystring parameter name if it exists,
or default_value if it doesn't. If default_value is omitted
and parameter name doesn't exist, returns null.
var v1 = qs2.get("name1")
var v3 = qs2.get("name3", "default value")
*/
Sign up for our daily email newsletter: