Team:Warsaw/JSTest
From 2008.igem.org
(Difference between revisions)
Line 6: | Line 6: | ||
- | + | ||
<script type="text/javascript"> | <script type="text/javascript"> | ||
+ | |||
/* <![CDATA[ */ | /* <![CDATA[ */ | ||
+ | |||
+ | /* Client-side access to querystring name=value pairs | ||
+ | Version 1.3 | ||
+ | 28 May 2008 | ||
+ | |||
+ | License (Simplified BSD): | ||
+ | http://adamv.com/dev/javascript/qslicense.txt | ||
+ | */ | ||
+ | function Querystring(qs) { // optionally pass a querystring to parse | ||
+ | this.params = {}; | ||
+ | |||
+ | if (qs == null) qs = location.search.substring(1, location.search.length); | ||
+ | if (qs.length == 0) return; | ||
+ | |||
+ | // Turn <plus> back to <space> | ||
+ | // See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1 | ||
+ | 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 pair = args[i].split('='); | ||
+ | var name = decodeURIComponent(pair[0]); | ||
+ | |||
+ | var value = (pair.length==2) | ||
+ | ? decodeURIComponent(pair[1]) | ||
+ | : name; | ||
+ | |||
+ | this.params[name] = value; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | Querystring.prototype.get = function(key, default_) { | ||
+ | var value = this.params[key]; | ||
+ | return (value != null) ? value : default_; | ||
+ | } | ||
+ | |||
+ | Querystring.prototype.contains = function(key) { | ||
+ | var value = this.params[key]; | ||
+ | return (value != null); | ||
+ | } | ||
+ | |||
+ | |||
Array.prototype.indexOf = function( v, b, s ) { | Array.prototype.indexOf = function( v, b, s ) { |
Revision as of 18:09, 28 October 2008
|