Naja, ist eigtnlich ganz simpel.
var pairs = unescape( window.location.search.substring(1) ).split('&');
Du musst sowas von innen nach außen lesen:
window.location.search ist klar
window.location.search.substring(1) schneidet das erste Zeichen (das Fragezeichen) ab
unescape( .... )
unescape()
(Mittlerweile besser decodeURI() verwenden)
unescape().split('&')
Nachdem ale Zeichen umgewandelt sind kannst du den search String splitten. Jetzt hast du ein Array mit z.b. solchen Werten 'x=der Wert x', 'y=der Wert y', ....
var params = new Object();
dieses Object nimmt die Parameter auf, du kannst der Variabel params jetzt Attribute zuweisen.
z.b.
params.eineEigenschaft = 1;
oder
params['eineEigenschaft'] = 1;
Ausgabe in beiden Fällen: alert(params.eineEigenschaft);
for(var param in pairs)
{
Das ist Faulheit und kann auch so umgesetzt werden:
for(var param = 0; param < pairs.length; param++)
(Wobei man dann üblicherweise statt param z.b. i verwenden würde)
var tmp = pairs[param].split('=');
hier werden die Werte des Array gesplittet.
tmp[0] enthält die Variabel
tmp[1] den Wert
params[tmp[0]] = tmp[1];
jetzt hast du z.b.
params.x = 'der Wert x'
params.y = 'der Wert y'
}
for(var name in params)
{
alert( name + '=' + params[name]);
}
Mit dieser Schleife kannst du alle empfangenen Werte ausgeben.
Mehr Hinweise dazu
http://de.selfhtml.org/javascript/objekte/array.htm#assoziative_arrays
Struppi.