location.search
Matthias Pesch
- javascript
0 Christian0 Andreas Schneider0 MudGuard0 wahsaga
Hallo,
ich weiss zwar das man mit location.search alles hinter dem dateinamen auslesen kann, aber wie kann man jede variabel einzelnd auslesen??
vielen dank,
matthias
Hi,
du musst diesen aufsplitten nach & und dann nach = :
var search = location.search;
var values = new Array();
var valuepairs = search.split("&");
for(var i = 0; i < valuepairs.length; i++)
{
var valuepair = valuepairs[i].split("=");
values[values.length] = valuepair[1];
}
// value[0] == erster Wert... usw.
Gruß
Christian
Hallo Christian, hallo Matthias,
var search = location.search;
[...]
Dabei muß allerdings berücksichtigt werden, daß das erste Zeichen in location.search das "?" ist und search ein vordefinierter Name. Letzteres sollte in diesem Fall nichts ausmachen, aber sinnvollerweise verwendet man nie solche Namen als eigene Variablennamen. Wer weiss was die Zukunft bringt.
Also besser:
var s = location.search.substring(1, location.search.length);
Grüße
Andreas
Hi,
und das url-decoden (Funktion unescape()) nicht vergessen...
cu,
Andreas
und das url-decoden (Funktion unescape()) nicht vergessen...
unescape ist ungeeignet.
zitat selfhtml:
"Wandelt alle Zeichen der zu übergebenden Zeichenkette in normale ASCII-Zeichen um und gibt die so erzeugte Zeichenkette zurück. Die zu übergebende Zeichenkette muss für jedes umzuwandelnde Zeichen ein Prozentzeichen (%) und den Hexadezimalwert des Zeichens in der ASCII-Zeichentabelle enthalten."
letzteres dürfte selten zutreffen, da 'normale' zeichen nicht kodiert werde müssen.
decodeURI() dürfte hier besser sein.