Parameter aus Adresszeile auslesen
kolle
- javascript
Hallo,
ich versuche aktuell über die Adresszeile aus einer asp-Datei an eine HTML-Datei Parameter zu übergeben. Die Übergebene Adresse lautet z.B:
http://www.bla.de/seite.html?name1=wert1&name2=wert2
Wie kann ich denn nun diese Parameterwerte in der Aufgerufenen Datei auslesen? Ich versuchte es mit JavaScript:
neuevariable = Request.Query("wert1");
Aber ich fürchte, dass das kein JavaScript sonder eie JSP Fuktion ist. Hat vielleicht jemand einen Tipp für mich?
Vielen dank
Kolle
Hallo kolle,
neuevariable = Request.Query("wert1");
falsch geraten, besser wäre http://de.selfhtml.org/javascript/objekte/location.htm#search.
Gruß, Jürgen
Hi Jürgen,
vielen Dank für den Link. Damit klappt das auslesen. Wie kann ich aber die einzelnen Parameterwerte jeweils einer Variablen zuweisen? Das bekomme ich irgendwie nicht gebacken.
Hallo kolle,
neuevariable = Request.Query("wert1");
falsch geraten, besser wäre http://de.selfhtml.org/javascript/objekte/location.htm#search.
Gruß, Jürgen
Hallo,
vielen Dank für den Link. Damit klappt das auslesen. Wie kann ich aber die einzelnen Parameterwerte jeweils einer Variablen zuweisen? Das bekomme ich irgendwie nicht gebacken.
Hier findest du was du suchst.
Gruß aus Berlin,
Markus
vielen Dank für den Link. Damit klappt das auslesen. Wie kann ich aber die einzelnen Parameterwerte jeweils einer Variablen zuweisen? Das bekomme ich irgendwie nicht gebacken.
Hier findest du was du suchst.
oh, von wann ist denn der Artikel, der ist ziemlich grausam - globale Variabeln, umständlich und dazu nicht ganz korrekt.
ich mach das so:
(function()
{
var s = window.location.search.substring(1).split('&');
if(!s.length) return;
var c = {};
for(var i = 0; i < s.length; i++)
{
var parts = s[i].split('=');
c[unescape(parts[0])] = unescape(parts[1]);
}
window.param = function(name){return name ? c[name] : c;}
}())
über param('parameterName'); kann nun auf die Variabeln zugegriffen werden.
Struppi.
ich mach das so:
Und ich mach das so ;)
Siechfred
ich mach das so:
Und ich mach das so ;)
Wenn ich das mit: %F6%E4%FC%DF=123 (öüäß=123) als Parameter Aufrufe funktioniert es auch nicht. Ich hatte auch mit der decodeURI Methode experimentiert, aber sie arbeitet nicht korrekt. escape() funktioniert in allen Browsern und funktioniert.
Weiß aber auch nicht mehr genau was im Detail da falsch lief.
Struppi.
Wenn ich das mit: %F6%E4%FC%DF=123 (öüäß=123) als Parameter Aufrufe funktioniert es auch nicht.
Danke für den Hinweis, ich habe das irgendwann vor 1 oder 2 Jahren mal gemacht und nicht weiter verfolgt. Eigentlich wollte ich nur zeigen, dass hier viele Wege zum Ziel führen können :)
Siechfred
Hi @all,
vielen Dank für die vielen Antworten. Ich habe den weg von Struppi gewählt. Dies kam mir am logischsten und einfachsten vor.
mfg
Kolle
Moin
vielen Dank für die vielen Antworten. Ich habe den weg von Struppi gewählt. Dies kam mir am logischsten und einfachsten vor.
Allerdings wenn in deinen Werten auch "=" vorkommt macht Struppis Funktion einen Fehler, da sie dir als Wert dann nur den Teil zwischen dem ersten und zweiten "=" ausgibt. Solltest bei dir sowas zu erwarten sein müsstest du da nachbessern.
Gruß
rfb
vielen Dank für die vielen Antworten. Ich habe den weg von Struppi gewählt. Dies kam mir am logischsten und einfachsten vor.
Allerdings wenn in deinen Werten auch "=" vorkommt macht Struppis Funktion einen Fehler, da sie dir als Wert dann nur den Teil zwischen dem ersten und zweiten "=" ausgibt. Solltest bei dir sowas zu erwarten sein müsstest du da nachbessern.
Das Gleichheitszeichen muss auch maskiert werden, da es das Trennzeichen zwischen Parametername und Wert ist. Wird vom Browser auch so gemacht
Struppi.
Das Gleichheitszeichen muss auch maskiert werden, da es das Trennzeichen zwischen Parametername und Wert ist. Wird vom Browser auch so gemacht
kodiert nicht maskiert.
Struppi.
Hallo Struppi,
ich mach das so:
(function()
{
[...]
}())
Ok, du definierst hier also eine anonyme Funktion. Was aber bedeuten die ganzen runden Klammern?
Grüße
Jasmin
ich mach das so:
(function()
{
[...]
}())
> Ok, du definierst hier also eine anonyme Funktion. Was aber bedeuten die ganzen runden Klammern?
gut erkannt, die Klamnmern rufen dann die Funktion direkt auf.
Struppi.
--
[Javascript ist toll](http://javascript.jstruebig.de/) (Perl auch!)