Tom: Übergebe Variable ausgeben

Ich habe in einem Textfeld einen Namen eingelesen und den dann mit method=post auf eine andere Seite übergeben. Jetzt weiß ich nicht, wie ich die Variable wieder ausgeben kann.

Ich befinde mich auf der Seite willkommen.htm.
In der Adressleiste steht:
...java/willkommen.htm?eingabe=name

Also die Variable ist eingabe und der Wert ist name.

Bitte helft mir!!!

M.F.G.

Tom

  1. Auch Dir ein besonders fröhliches Hallo,

    Ich habe in einem Textfeld einen Namen eingelesen und den dann mit method=post auf eine andere Seite übergeben.

    POST-Daten werden dem Server übermittelt, welcher sie _nicht_ wieder zurücksendet. Clientseitig existiert kein Weg, nach der Antwort wieder an die Daten zu gelangen.

    ...java/willkommen.htm?eingabe=name

    Btw: Dass JavaScript nicht das geringste mit Java zu tun hat, ist Dir bewusst?

    Also die Variable ist eingabe und der Wert ist name.

    Eine URL kann keine Variable beinhalten. Es handelt sich hier um URL-Parameter des Searchparts. Analysiere diesen also mit JavaScript, splitte ihn am Trennzeichen auf, splitte die einzelnen Elemente am Trennzeichen für Name und Wert, ermittle das gewünschte Paar.

    Cheatah

    1. Also, ich habe noch 3 funktionen eingebaut aber ich weiß nicht, ob ich die 3. einfach auf der anderen Seite einbauen kann, damit das klappt...

      <script language="JavaScript" type="text/javascript">
      function goToURL() { window.location = "willkommen.htm"; }
      <!--
      //Die erste ist dazu da um die Leerstellen und sonderzeichen umzuwandeln und hinterher wieder zurück zu tüddeln.

      spzzchn=  "*+-./_@";

      function ersetze(text,find,repl){
        var found = text.indexOf(find);
        var retVal= ""; var start = 0;
        while(found != -1){
          retVal +=text.substring(start,found) +repl;
          start = found+find.length;
          found =text.indexOf(find,start);
        }
        retVal +=text.substring(start,text.length);
        return retVal;
      }

      function wertspeichern() {
        var a=escape(self.document.f1.eingabe.value);
        for(var i=0;i<spzzchn.length;i++) a=ersetze(a,spzzchn.charAt(i),"%X"+i);
        a=ersetze(a,"%","_");
        self.document.f1.ausgabe.value=a;
        self.name=a;
      }

      function wertzeigen() {
        var b=""+self.name;
        b=ersetze(b,"_","%");
        for(var i=0;i<spzzchn.length;i++) b=ersetze(b,"%X"+i,spzzchn.charAt(i));
        b=unescape(b);
        self.document.f2.ausgabe.value=b;
      }
      //-->
      </script>

      1. Hi,

        Also, ich habe noch 3 funktionen eingebaut

        äh, ich bin jetzt nicht hundertprozentig sicher, was diese Funktionen eigentlich machen sollten... aber hast Du schon von escape() und unescape() gehört?

        aber ich weiß nicht, ob ich die 3. einfach auf der anderen Seite einbauen kann, damit das klappt...

        Worauf beruht Dein Zweifel? Was ist "das", das klappen soll; und was verstehst Du unter "klappen"?

        Cheatah

  2. Hallo <- Dies ist eine Begrüssung

    Ich befinde mich auf der Seite willkommen.htm.
    In der Adressleiste steht:
    ...java/willkommen.htm?eingabe=name

    Ich würde das folgendermassen machen:

    • Mit document.URL die Adresszeile des Browsers auslesen
    • Den String von rechts bis zum Fragezeichen extrahieren
    • Bei jedem '&' splitten (falls erforderlich)
    • Variabelnname von dem Wert trennen und (wenn das möglich ist) in einem assoziativen Array speichern.

    Wenn das mit dem assoziativen Array klappt, dann könntest du zum Beispiel durch

    strEingabe = arrUrlParameter("eingabe");

    den Wert in die Variable 'strEingabe' speichern können.

    MfG & HIH

    Tom2

    1. Hi,

      • Mit document.URL die Adresszeile des Browsers auslesen

      warum benutzt Du nicht location.href?

      • Den String von rechts bis zum Fragezeichen extrahieren

      Warum benutzt Du nicht allgemein das location-Objekt? Damit wird Dir dieser Schritt bereits abgenommen.

      Cheatah

      1. Hallo Cheatah

        • Mit document.URL die Adresszeile des Browsers auslesen

        warum benutzt Du nicht location.href?

        Was hat location.href für Vorteile gegenüber document.URL?

        Aus http://selfhtml.teamone.de/javascript/objekte/document.htm#url und http://selfhtml.teamone.de/javascript/objekte/location.htm#href kann ich nur erkennen, dass man mit location.href die Adresse auch ändern kann (was in diesem Beispiel nicht notwendig ist) und dass document.URL zu DOM 1.0 gehört. Was spricht für wessen verwendung?

        • Den String von rechts bis zum Fragezeichen extrahieren

        Warum benutzt Du nicht allgemein das location-Objekt? Damit wird Dir dieser Schritt bereits abgenommen.

        Ah, durch mein Loch im Knie kann ich's jetzt erkennen: Ich hab bei meinem Streifzug durch SelfHTML auf der Suche nach einer Lösung die search-Eigenschaft des location-Objektes übersehen. Vielen Dank für den Hinweis.

        MfG

        Tom2

        1. Hi,

          warum benutzt Du nicht location.href?
          Was hat location.href für Vorteile gegenüber document.URL?

          prinzipiell keine: Dass nur eines von beiden schreibbar ist, ist sowohl Vor- als auch Nachteil. Aber: Es ist eine Eigenschaft des location-Objektes, welches viele weitere Dinge enthält, die Du oft (z.B. hier) nutzen kannst und willst. Es macht Sinn, aus diesem Grund konsequent bei den location-Eigenschaften zu bleiben; denn auch und gerade in der Programmierung und der Wahl der verwendeten Techniken und Datenquellen gilt:

          So viel wie nötig, so wenig wie möglich.

          Da keine Nachteile aus der Verwendung von location.href gegenüber document.URL entstehen, ist es sinnvoll, URL-spezifische Informationen ausschließlich aus dem location-Objekt zu erfahren.

          Natürlich kann man darüber beliebig lange philosophieren :-) Es ist auch eine Sache von Meinung und hausinterner Standardsetzung. Bei uns gibt es diesbezüglich zwar keine verbindliche Ansage, aber die Tendenz ist die oben beschriebene.

          Ah, durch mein Loch im Knie kann ich's jetzt erkennen:

          *g* Schöne Formulierung :-)

          Cheatah

  3. Hallo,

    ich bin kein Profi, aber ich für mich hab das Problem ganz einfach gelöst, vorausgesetzt du arbeitest mit Frames.

    Hinter den Absendenbutton hab ich ne Javascript - Funktion gelegt, und in der Funktion mach ich dann folgendes:

    parent.Variable1= document.all.GasTemp_min.value;
    parent.Variable2= document.all.GasTemp_max.value;
    self.location.href = "nächsteSeite.htm";

    Variable1 und 2 hab ich mit var Variable da definiert wo ich das Frameset mache.

    GasTemp_min ist der Name des Eingabefeldes und auf der "nächsteSeite"
    kannst Du mit parent.Variable1 wieder auf die Eingabe zugreifen.

    Wäre vielleicht auch ne Lösung wenn es nicht unbedingt method=post sein muss.

    Manuela