Im trying to pass data from one page to another. www.mints.com?name=something
How to read name using javascript.
Im trying to pass data from one page to another. www.mints.com?name=something
How to read name using javascript.
location.search https://developer.mozilla.org/en/DOM/window.location
although most use some kind of parsing routine to read query string parameters.
here's one http://safalra.com/web-design/javascript/parsing-query-strings/
Something like this would do it:
function getUrlParam(param)
{
param = param.replace(/([\[\](){}*?+^$.\\|])/g, "\\$1");
var regex = new RegExp("[?&]" + param + "=([^&#]*)");
var url = decodeURIComponent(window.location.href);
var match = regex.exec(url);
return match ? match[1] : "";
}
use as:
var param = getUrlParam("name");
alert(param); // "something"
EDIT: Actually, it is possible that a parameter occurs multiple times in an URL. To handle this case, a slightly modified approach is necessary:
function getUrlParamArray(param)
{
param = param.replace(/([\[\](){}*?+^$.\\|])/g, "\\$1");
var value = [];
var regex = new RegExp("[?&]" + param + "=([^&#]*)", "g");
var url = decodeURIComponent(window.location.href);
var match = null;
while (match = regex.exec(url)) {
value.push(match[1]);
}
return value;
}
use as (assume URL is "www.mints.com?name=something&name=otherthing"
):
var param1 = getUrlParamArray("name");
alert(param[0]); // "something"
alert(param[1]); // "otherthing"
var param2 = getUrlParamArray("missing");
alert(param[0]); // undefined
Here's one solution. Of course, this function doesn't need to load into a "window.params" option -- that can be customized.
window.params = function(){
var params = {};
var param_array = window.location.href.split('?')[1].split('&');
for(var i in param_array){
x = param_array[i].split('=');
params[x[0]] = x[1];
}
return params;
}();
Example API call on http://www.mints.com/myurl.html?name=something&goal=true:
if(window.params.name == 'something') doStuff();
else if( window.params.goal == 'true') shoutGOOOOOAAALLL();
I think this should also work:
function $_GET(q,s) {
s = (s) ? s : window.location.search;
var re = new RegExp('&'+q+'=([^&]*)','i');
return (s=s.replace(/^\?/,'&').match(re)) ?s=s[1] :s='';
}
Just call it like this:
var value = $_GET('myvariable');