function findQueryArgument (strQuery, strArgumentName) {
// Valid query?
if (strQuery) {
// Split the parameteres
var arrParameters = strQuery.split("&");
// Walk through the parameters
for (var i = 0; i < arrParameters.length; i++) {
// Get the key/value pair
var arrPair = arrParameters[i].split("=");
// Is this the event argument?
if (arrPair[0] == strArgumentName) {
// Has value?
if (arrPair.length > 1) {
// Get the value
return arrPair[1];
}
// Not set
break;
}
}
}
// Not found
return '';
}
The strQuery argument is the full URL query i.e. a=val1&b=val2 etc. The full URL should not be included.
strArgumentName is the name of the argument you're looking for, i.e. a or b.
Please notice that the returned value is URL encoded. To extract the actual string value you need to use the built in JavaScript method unescape.
Here is an example:
// Query string
var strQuery = 'a=val1&b=val2';
// Get the value of the 'b' argument
var strEscaped = findQueryArgument(findQueryArgument, strQuery, 'b');
// Get the unescaped value
var strUnescaped = unescape(strEscaped);
// Display the value
alert(strUnescaped);