Retrieve QueryString Parameters with JavaScript

by CarcaBot on July 24, 2009 · 0 comments

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")
*/

Leave a Comment

Previous post:

Next post: