URL-Parameter in javascript verwenden
Karl
- javascript
0 JürgenB0 Klawischnigg0 Jan L.
1 Siechfred0 Karl
Hi,
auch wenn Ihr mich als absoluten Laien abstempelt ...
Wie kann ich Obiges erreichen, gefunden habe ich hier nur den unten dargestellten, etwas aufwändigen Weg. Get es nicht einfacher - durch direktes Auslesen der Parameter über irgendeine andere document/windows-Methode ?
Karl
<script language="JavaScript" TYPE="text/javascript">
function get_parameters() {
// erzeugt für jeden in der url übergebenen parameter einen wert
// bsp: x.htm?nachname=Munch&vorname=Alex&bildfile=wasserfall.jpg erzeugt
// variable nachname mit wert Munch und
// variable vorname mit wert Alex
// variable bildfile mit wert wasserfall.jpg
var hier = document.URL;
var parameterzeile = hier.substr((hier.indexOf("?")+1))
var trennpos
var endpos
var paramname
var paramwert
while (parameterzeile != "") {
trennpos = parameterzeile.indexOf("=")
endpos = parameterzeile.indexOf("&")
if (endpos < 0) { endpos = 500000 }
paramname = parameterzeile.substr(0,trennpos)
paramwert = parameterzeile.substring(trennpos+1,endpos)
eval (paramname + " = "" + paramwert + """)
parameterzeile = parameterzeile.substr(endpos+1)
}
}
</script>
Danke für die Info .. Jürgen
aber im Klartext heißt das doch, mit window.location.search krieg ich nur die ganze Zeichenkette und muss mir die irgendwie mit 'ner Stringverarbeitung auseinanderfummeln.
Abgesehen davon, da die URL intern verwendet wird ist eine feste Positionierung der Parameter garantiert - quasi als Stellungsparameter.
Gruß Karl
Hallo Karl,
mit http://de.selfhtml.org/javascript/objekte/string.htm#split kannst du Strings nach Trennzeichen zerlegen. Die Ergebnisse liegen dann als Array vor. Für dein Problem kannst du den Parameterstring erst nach dem Parametertrenner, üblicherweise ein "&", zerlegen, und die Teile dann nach dem "=".
Gruß, Jürgen
Hi there,
function get_parameters()
Diese Funktion "funktioniert" ohnehin nur bei Parametern, die Du vorher schon kennen mußt, da die sonst in dieser Funktion definierten Variablen dem Rest des Programms verborgen bleiben. Soll heissen, wenn Du nicht vorher zB eine Variable mit dem Namen "vorname" definierst, hast Du überhaupt nichts davon, daß in der Funktion eine gleichnamige erzeugt wird...
Hallo,
Diese Funktion "funktioniert" ohnehin nur bei Parametern, die Du vorher schon kennen mußt, da die sonst in dieser Funktion definierten Variablen dem Rest des Programms verborgen bleiben.
Nö. Das ist m.W. nur so, wenn die Variablendefinition innerhalb der Funktion
mit 'var' eingeleitet wird. Ansonsten sind innerhalb einer Funktion
definierten Variablen global.
function setter() {
x = 10;
}
setter();
alert(x);
Gruß, Jan
Hi there,
Nö. Das ist m.W. nur so, wenn die Variablendefinition innerhalb der Funktion
mit 'var' eingeleitet wird. Ansonsten sind innerhalb einer Funktion
definierten Variablen global.
Wo Du recht hast, hast Du recht...
Tag Karl.
Wie kann ich Obiges erreichen, gefunden habe ich hier nur den unten dargestellten, etwas aufwändigen Weg. Get es nicht einfacher - durch direktes Auslesen der Parameter über irgendeine andere document/windows-Methode ?
Ja, den kompletten Querystring liefert dir window.location.search. Ein Beispiel für das Zerlegen des Querystrings in Name/Werte-Paare findest du hier: http://sniplets.anaboe.net/javascript03.html.
Siechfred
Tach Siechfred
habs mir mal reingezogen
Is ja genial!
Vielen Dank allen!
Mit den Besten Grüßen
KArl