Programmierung – Javascript
Daten per URL übergeben

DeveloperIT-ProjekteOffice-AnwendungenSoftware

Name-Wert-Paare ___

Die Daten werden über den URL übergeben. Sofern ein Formular ausgefüllt wird, muss dieses sicher abgeschickt werden, um auf die nächste Seite zu gelangen. Mit Javascript können Sie die im URL übergebenen Daten wieder auslesen und weiter verarbeiten. Dazu sollten Sie sich vor Augen führen,wie ein solcher URL aufgebaut ist. Als Erstes kommt standardmäßig die Adresse der aufgerufenen Seite. Anschließend folgt ein Fragezeichen, welches Adresse und Formulardaten trennt. Letztlich folgen die Formulardaten jeweils in Name-Wert-Paaren. Jedes Paar wird durch ein Kaufmanns-Und (&) abgetrennt und besteht jeweils aus dem Namen des Eingabefelds, einem Gleichheitszeichen und dem Wert. Mit Javascript können Sie über die Eigenschaft location.search auf den letzten Teil des URLs zugreifen (alles ab dem ?). Um die einzelnenWerte der Felder herauszubekommen,kann dann folgendes Skript verwendet werden:

function BekommeWert(a)
{
res = ”;
s = location.search;
if(s.indexOf(‘?’) != -1)
{
s = s.substring(1,s.length)
}
while(s != ”)
{
b = s.substring(0,s.indexOf(‘=’));
c = s.substring(s.indexOf(‘=’) +1,s.indexOf(‘&’));
if(s.indexOf(‘&’) == -1)
{
c = s.substring(s.indexOf(‘=’)+1,s.length);
}
if(b == a){res = c; break;}
if(s.indexOf(‘&’) == -1){s = ”;}
else
{
s = s.substring(s.indexOf(‘&’) +1,s.length)
}
}
return unescape(res);
}

Die Funktion erwartet einen String als Parameter. Sie liest nacheinander alle Name-Wert-Paare des URLs aus und vergleicht den Namen mit dem übergebenen String. Wurde der entsprechende Eintrag gefunden, so wird der dazugehörigeWert ausgegeben. Wurde auf der ersten Seite zum Beispiel der Name in das Feld mit dem Namen Benutzername eingegeben und abgesendet, kann die Funktion auf der entsprechenden nächsten Seite eingesetzt werden.Der Aufruf BekommeWert(?Benutzername?) gibt dann den entsprechenden Eintrag wieder, der weiter verwendet werden kann. Da zum Beispiel Sonderzeichen beim Übertragen in CGI-Werte umgewandelt werden (ähnlich der Sonderzeichen in HTML) muss an dieser Stelle die unescape-Funktion verwendet werden. Sie wandelt die CGI-Syntax der übermittelten Daten wieder in normale Zeichen um.

Lesen Sie auch :
Autor: swasi