Jochen: Problem mit window.document.location.href!

Hallo zusammen,

auf der Seite http://www.jochen-schwarzer.net/nas wird per JavaScript ein Formularfeld darauf abgefragt, ob der User eine Zahl (Geburtsdatum) zwischen 1900 und 1983 eingegeben hat. Ist dies NICHT der Fall, kommt per alert eine Fehlermeldung. Bis dahin klappt die Sache auch.

Wenn aber eine Zahl zwischen 1900 und 1983 eingetragen wurde, sollte die Seite per window.document.location.href das nächste dokument laden (im Beispiel exemplarisch einfach mal www.google.de). Statt dessen läd sie immer wieder nur sich selbst.

Wer kann mir sagen, was ich im Quelltext falsch mache bzw. wo der Denkfehler ist?

Vielen Dank im Voraus!
Jochen

  1. Hallo Jochen,

    Wenn aber eine Zahl zwischen 1900 und 1983 eingetragen wurde, sollte die Seite per window.document.location.href das nächste dokument laden (im Beispiel exemplarisch einfach mal www.google.de). Statt dessen läd sie immer wieder nur sich selbst.

    ich schätze mal, das hängt damit zusammen, daß location ein direktes Unterobjekt von window ist, und nicht von document. Zusätzlich würde ich statt window "self" schreiben, also self.location.href. Mit replace() statt href kannst Du gleichzeitig die History überschreiben, so daß es kein Zurück mehr gibt ;-)

    zum Nachlesen: http://de.selfhtml.org/javascript/objekte/window.htm

    Vielen Dank im Voraus!

    Für Dich doch immer wieder mal gerne ;-)

    Gruß aus Köln-Ehrenfeld (z.Zt. Zollstock :-)),
    und natürlich an Rühmkorf
    Elya

    --
    "Alle mal an die Nase fassen, und zwar an die eigene": </archiv/2003/9/57903/#m324482>
    _____________
    elyas virtuelle Altbauwohnung: http://www.visuelya.de
    1. Schau an, die Elya! ;))
      Das ist ja mal ne Überraschung!

      ...alles schon probiert, auch mit direkter Adressierung des Frames etc.pp. - irgendwo muss da ein Denkfehler hängen, denn statt der gewünschten 'google.de' öffnet das Script immer nur die aktuelle Seite neu und hängt den Inhalt des Formular-Eingabefelds an den URL an (z.B. http://www.jochen-schwarzer.net/nas/pages/start.htm?eingabefeld=1962). Habe schon testweise einen Alert dazwischen gehängt, um zu kontrollieren, ob die Funktion oeffnen() [darin ist das Laden der neuen Seite per location.href definiert] bei richtigem Geb.-Datum überhaupt angesprochen wird (wird sie aber!).

      Könntest Du evtl. mal einen kurzen Blick in den Quältext werfen? Die Funktionen konz() und oeffnen() im head sind einzig relevant. Vielleicht adressiere ich im Formular selber auch einfach was falsch? Das Ding müsste doch supertrivial sein... :((

      Viele Grüsse vom Neumarkt an die Ex-Crew! ;))
      Jochen

      1. Hallo Jochen,

        Könntest Du evtl. mal einen kurzen Blick in den Quältext werfen? Die Funktionen konz() und oeffnen() im head sind einzig relevant. Vielleicht adressiere ich im Formular selber auch einfach was falsch? Das Ding müsste doch supertrivial sein... :((

        ähm. ja. es war supertrivial ;-)

        self.location.href = "http://www.google.de";

        statt

        self.location.href = "www.google.de";

        Sonnige Grüße, auch von der Ex-Crew

        Elya

        --
        "Alle mal an die Nase fassen, und zwar an die eigene": </archiv/2003/9/57903/#m324482>
        _____________
        elyas virtuelle Altbauwohnung: http://www.visuelya.de
        1. ähm. ja. es war supertrivial ;-)

          self.location.href = "http://www.google.de";

          statt

          self.location.href = "www.google.de";

          nö ... die Angabe des Protokolls muss bei meinen 10.000 Änderungsversuchen wohl versehentlich irgendwann verschütt gegangen sein.

          so oder so: funktioniert nicht. ;((

          1. Hallo Jochen,

            sehr dubios. Wenn man hinter

            self.location.replace("http://www.google.de") ;

            (oder auch href)
            einen alert setzt, z.B.

            alert("foo");

            dann klappt es (das hatte ich eben, deshalb wähnte ich das Problem trivial gelöst). Ohne den Alert geht es nicht. Keine weiteren Ideen auf Lager, leider. Vermutlich ist es einfach zu heiß für Javascript...

            Gruß aus Köln-Ehrenfeld,

            Elya

            --
            "Alle mal an die Nase fassen, und zwar an die eigene": </archiv/2003/9/57903/#m324482>
            _____________
            elyas virtuelle Altbauwohnung: http://www.visuelya.de