Werteübergabe - hab viel gelesen aber nichts verstanden...
Frank
- javascript
Das Problem:
Ich möchte in einem Link zwei Werte an eine neue Seite übergeben.
Beispiel:
Link in erster Seite:
www.xxxxxx.de/start.htm?ID=test&MAIL=123@234.de
Jetzt soll die Datei start.htm, welche ich als 0-Frame gestaltet habe die Werte ID und MAIL im oberen, also nichtsichtbaren Frame speichern. Wenn ich dann auf das Formular komme, sollen die Werte aus dem 0-Frame in die Zeile
<INPUT TYPE="hidden" NAME="WMID" VALUE=" der wert von ID "><INPUT TYPE="hidden" NAME="WMMAIL" VALUE=" der wert von MAIL ">
übernommen werden.
Läßt sich die Sache realisieren? Und funktioniert das ganze auch unter Netscape / IE?
Sollte Javascripting deaktiviert sein, kann man dann in die ID automatisch z.B. Fehler und in Mail eine vorher definierte E-Mail Adresse einsetzen?
Ich weiß, via CGI wäre das kein Problem. Ich benötige es aber als Javascript.
Es wäre schön, wenn mir einer bei der Lösung des Problems helfen könnte, oder besser noch mir die Sache schreiben würde. Bezahlung ist zugesichert - dann bitte Absprache per Mail.
Frank
Hi, (<-- Begrüßung ist auch mal was nettes ,) )
Beispiel:
Link in erster Seite:
www.xxxxxx.de/start.htm?ID=test&MAIL=123@234.deJetzt soll die Datei start.htm, welche ich als 0-Frame gestaltet
habe die Werte ID und MAIL im oberen, also nichtsichtbaren Frame
speichern. Wenn ich dann auf das Formular komme, sollen die Werte
aus dem 0-Frame in die Zeile<INPUT TYPE="hidden" NAME="WMID" VALUE=" der wert von ID "><INPUT
TYPE="hidden" NAME="WMMAIL" VALUE=" der wert von MAIL ">übernommen werden.
Sollte Javascripting deaktiviert sein, kann man dann in die ID
automatisch z.B. Fehler und in Mail eine vorher definierte E-Mail
Adresse einsetzen?
Klar geht das ,)
Also, zunächst mal die Parameter Auslesen: die Parameter sind
ja im Query-String übergeben, und zwar in der Form:
parameter1=value1¶meter2=value2
function auslesen()
{
// Also müssen wir zunächst mal den Query-String auslesen:
var url = document.location.href;
var query = url.substring(url.indexOf("?")+1);
// Aus dem Query-String lesen wir dann den ersten Parameter aus:
var param1 = query.substring(0,query.indexOf("&"));
// Daraus den Wert des Parameters
var val1 = param1.substring(param1.indexOf("="));
// Da ganze dann nochmal für den 2. Parameter ,)
var param2 = query.substring(query.indexOf("&")+1);
var val2 = param2.substring(param2.indexOf("="));
// Jetzt die Werte speichern
var parent.frames['oben'].param1 = val1;
var parent.frames['oben'].param2 = val2;
}
Und jetzt das ganze mit dem OnLoad-Event im <body>-Tag auslösen:
<body onload="auslesen();">
So, jetzt die Datei mit dem Formular:
Wir möchten ja, daß die Werte automatisch in das Feld eingetragen
werden. Also:
function trag_ein()
{
document.forms['mailer'].WMID.value = parent.frames['oben'].param1;
document.forms['mailer'].WMMAIL.value = parent.frames['oben'].param2;
}
<body onload="trag_ein();">
<form name="mailer">
<INPUT TYPE="hidden" NAME="WMID" VALUE="standard-wert">
<INPUT TYPE="hidden" NAME="WMMAIL" VALUE="standard-wert">
</form>
Es wäre schön, wenn mir einer bei der Lösung des Problems helfen
könnte, oder besser noch mir die Sache schreiben würde.
Normalerweise würd ich keine komplette Lösung schreiben, aber ich bin
heut spät aufgestanden und hab gute Laune ,)
Bezahlung ist zugesichert - dann bitte Absprache per Mail.
Bezahlung ,) ach was...
mfg
CK1
Hi
für die reine Abfrage der URL hab ich gerade noch ein Script über ,
falls es auch nochmal mehr wie 2 Paramter werden sollen :
function QueryString(ID)
{
myURL = window.location.search;
Start= myURL.indexOf("?");
if (Start==-1) {return("");}
qString = myURL.substr(Start,myURL.length-Start);
Start= qString.indexOf(ID+"=");
if (Start==-1) {return("");}
Start = Start+ID.length+1;
qString = qString.substr(Start,qString.length-Start);
if (qString.indexOf("&")!=-1) {qString=qString.substr(0,qString.indexOf("&"));}
qString=qString.replace('%AND%','&');
return(qString);
}
in der Abfragenden Seite dann einfach via
ID=QueryString("ID");
MAIL=QueryString("MAIL");
die Parameter abfragen und entsprechen weiterverarbeiten.
Zum Rest hat mein Vorredner vermutlich schon genug gesagt
gruss
Jens