Frank: Werteübergabe - hab viel gelesen aber nichts verstanden...

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

  1. Hi, (<-- Begrüßung ist auch mal was nettes ,) )

    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.

    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&parameter2=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

  2. 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