my page http://www.dinomuhic.com/2010/index.php loads the Showreel at the start of the page using an onLoad call in body like this:
<body onLoad="sndReq('96')">
96 is the ID of the showreel in the SQL Library. The JS function "sndReq" is an AJAX call using JQuery which opens the requested item and displays it in the main window.
Now my question: What if I want to send a link to a client which opens a specific item directly so he does not have to navigate through the site?
Something like http://www.dinomuhic.com/2010/index.php?sndReq=234 (which of course doesn't work now and just opens the showreel, probably because the onLoad in the body tag overrides it)
How can I implement this? I want to be able to open specific items by URL but if nothing is passed through the URL it should always open item 96.
Thank you in advance. I'm sure its pretty easy I just can't see it.
Cletus
You can use RegExp to accomplish this, read the url parameters and pass them to ajax.
this simple script will read the current url and pass through regex to filter for paramters you specify.
if you are using jQuery, why not use the DOM-ready handler instead of
onload
? on that note, if it's just an ajax request, you don't even need to wait for DOM-ready. if you parse the query, you should be able to pass that in to your existing function.hope that helps! cheers.
You need to parse the query string. I find the easiest way to deal with the query string is to do the following. First, you need to extract the query string from the URL:
Then, you can strip out the
?
and split each query string parameter into an array:Now you can build a hash table object of the name/value pairs making up the query string:
In your
onload
, you can now use the parameter thusly:Make sure that the code is run within a script in the
head
of your document so that it's computed before theonload
is executed.