SeinopSys
SeinopSys

Reputation: 8937

Getting parameters from page url

So, here's the main code, which checks the URL of the current page for the string ?a= then sets the variable ee_roomname to anything after that.

<script type="text/javascript">
    var ee_roomname = unescape(location.href.substring(location.href.lastIndexOf("?a=")+1))
    if(ee_roomname.indexOf("?") != -1) ee_roomname = "";
</script>

But what, if I want to add more variables, maybe after this value. For ex. here's a possible url:

http://abc.de/fg.html?a=hijk

Thus, the variable ee_roomname will be set to hijk
Now if we add some more tags, it will look like this:

http://abc.de/fg.html?a=hijk&b=lmno&c=pqrs

Now ee_roomname will be set to hijk&b=lmno&c=pqrs, which is not what I want.
I want the code to only track the a variable/parameter's value from the URL.

What needs to be changed, and how, in order to make it work?
Maybe provide a code I can use, too. (not too big fan of "do this and this" and such)

Upvotes: 1

Views: 2272

Answers (3)

codef0rmer
codef0rmer

Reputation: 10530

Try to parse the entire url using this URL Parsing library in JavaScript.

Upvotes: 1

JCSickmeyer
JCSickmeyer

Reputation: 189

to answer the first question, you could also try:

<script> 
  var query = window.location.search.substring(1);
  var getv = query.split("&");
  var pair = new Array();
  for (var i=0; i < getv.length; i++) {
    pair[i] = getv[i].split("=");
  }
</script>

pair is an array of all get variables and values like: [["h", "1"], ["g", "2"]] if ?h=1&g=2

hope that helps.

Upvotes: 2

Gaʀʀʏ
Gaʀʀʏ

Reputation: 4540

Here is a function to retrieve url parameters

function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
        vars[key] = value;
    });
    return vars;
}

How to retrieve the url parameters in your javascript

var first = getUrlVars()["id"];
var second = getUrlVars()["page"];

alert(first);
alert(second);

View the Source

For your bonus: if you split the string at the '?' and take the first half, that will give you the "pure" absolute url.

Upvotes: 5

Related Questions