speedy: auf Formular in Frameset-Seite zugreifen

Hallo,

ich habe eine Seite mit einem Frameset drin, aber dann auch innerhalb des body-Tags ein Formular mit einem hidden-input Feld, um mir dort seiten/framefensterübergreifent Daten merken zu können. Nur kann ich aus einem Framefenster nicht auf das Forumlar zugreifen.

In der Frameset-Datei habe ich folgendes innerhalb vom body-Tag:

<form name="FormularName">
<input type=hidden name="InputFeldName" value="0">
</form>

Aus einer HTML Datei in einem Framefenster wollte ich so schreiben:

top.document.FormularName.InputFeldName.value = 1;

Nur wird mir da als Fehlermeldung ausgegeben, daß das Objekt NULL ist oder nicht existiert. Wie kann ich das machen ? Ich wollte damit einfach nur Framefenster-übergreifend testen/prüfen ob eine bestimmte Seite in einem Fenster schon vollständig geladen ist oder nicht.

MFG,
speedy

  1. hi

    top.document.FormularName.InputFeldName.value = 1;

    es fehlt nach "top" der name deines frames im dem das formular ist.
    afaik düfte "document" an dieser stelle überflüsseig sein

    so long
    ole
    (8-)>

    1. Hi,

      top.document.FormularName.InputFeldName.value = 1;
      es fehlt nach "top" der name deines frames im dem das formular ist.
      afaik düfte "document" an dieser stelle überflüsseig sein

      Also wenn du das so meinst: top.top.FormularName.InputFeldName.value, dann funktioniert das nicht - kommt auch ne Fehlermeldung - und top.top.document.FormularName.InputFeldName.value - kommt auch ne Fehlermeldung.

      Weitere Ideen ? :-)

      MFG,
      speedy

      1. hi

        Also wenn du das so meinst: top.top.FormularName.InputFeldName.value, dann funktioniert das nicht - kommt auch ne Fehlermeldung - und top.top.document.FormularName.InputFeldName.value - kommt auch ne Fehlermeldung.

        es gibt nur 1 top...und wie heißt dein frame?

        die syntax wäre top.framename.formularname.formularfeldname

        so long
        ole
        (8-)>

        1. Hi,

          es gibt nur 1 top
          die syntax wäre top.framename.formularname.formularfeldname

          Ja, das ist mir klar ... aber ...

          und wie heißt dein frame?

          Ich habe das Formular _nicht_ in einem anderen Frame, sondern in der HTML Datei, in der das Frameset definiert ist ... also im "top" meiner Meinung nach ...

          Frameset, FramesetDatei
          |
          |- Frame 1, FrameDatei 1
          |
          |- Frame 2, FrameDatei 2

          In der FrameDatei 1 will ich auf ein Formular (das natürlich nicht angezeigt wird) in der FramesetDatei zugreifen, um dort Daten abzulegen ... also im "top" bzw. "parent"

          MFG,
          speedy

          1. Tach,

            Ich habe das Formular _nicht_ in einem anderen Frame, sondern in der HTML Datei, in der das Frameset definiert ist ... also im "top" meiner Meinung nach ...

            Das geht nicht, da in einer Datei mit dem Doctype Frameset, nur folgendes sein darf:
            1. Definition des Framesets
            2. Noframes Bereich mit <body> usw.

            In ersterem darf kein <form> sein; und ein eventuelles <form> im Noframes Bereich wird nur angezeigt und benutzt, wenn keine Frames unterstützt werden.

            In der FrameDatei 1 will ich auf ein Formular (das natürlich nicht angezeigt wird) in der FramesetDatei zugreifen, um dort Daten abzulegen ... also im "top" bzw. "parent"

            Dann generiere doch einen weiteren Frame, der nicht angezeigt wird und lege die Daten dort ab.

            mfg
            Woodfighter

            1. Hi,

              In ersterem darf kein <form> sein;

              Sch...ade ;)

              Dann generiere doch einen weiteren Frame, der nicht angezeigt wird und lege die Daten dort ab.

              Ja - nein, das Problem ist, daß ich in einem Frame abfragen will, ob ein anderes schon vollständig geladen ist, da sonst bestimmte Objekte in dem anderen Frame noch nicht bekannt sind ... und daher wollte ich die Daten "ok, bin vollständig geladen" (also nen einfach ne 0 oder 1) irgendwo setzen, was garantiert schon geladen ist bzw. wo garantiert beide Frames drauf zugreifen können ... und wenn ich jetzt noch ein Frame mache, dann könnt es ja sein, daß das aus irgendeinem Grund erst später geladen ist, als die anderen beiden Frames und dann produziere ich ja nur weitere Fehlermeldungen - bei mir funktioniert das auch ohne diese Abfragen wunderbar, aber jenachdem wie die Ladegeschwindigkeit bei einem User ist, kann es zu ungewollten Fehlermeldungen kommen. ... oder kann ich direkt ein window fragen, ob das document noch am laden ist oder schon fertig ? - brauch ja nur der HTML Code fertig geladen sein.

              MFG,
              speedy

              1. Tach,

                Ja - nein, das Problem ist, daß ich in einem Frame abfragen will, ob ein anderes schon vollständig geladen ist, da sonst bestimmte Objekte in dem anderen Frame noch nicht bekannt sind ... und daher wollte ich die Daten "ok, bin vollständig geladen" (also nen einfach ne 0 oder 1) irgendwo setzen, was garantiert schon geladen ist bzw. wo garantiert beide Frames drauf zugreifen können ... und wenn ich jetzt noch ein Frame mache, dann könnt es ja sein, daß das aus irgendeinem Grund erst später geladen ist, als die anderen beiden Frames und dann produziere ich ja nur weitere Fehlermeldungen - bei mir funktioniert das auch ohne diese Abfragen wunderbar, aber jenachdem wie die Ladegeschwindigkeit bei einem User ist, kann es zu ungewollten Fehlermeldungen kommen. ... oder kann ich direkt ein window fragen, ob das document noch am laden ist oder schon fertig ? - brauch ja nur der HTML Code fertig geladen sein.

                Genau an dieser Stelle greift der Event-Handler onLoad http://selfhtml.teamone.de/javascript/sprache/eventhandler.htm#onload, oder du fragst die Existenz eines Objektes ab, bevor du es benutzt.

                mfg
                Woodfighter

                1. Genau an dieser Stelle greift der Event-Handler onLoad

                  Das kapier ich jetzt nicht ... onLoad ist doch dafür da, um beim Laden der Seite Javascript seiner Wahl ausführen zu lassen ... aber wo hilft es mir jetzt bei meinem Problem ?

                  »»http://selfhtml.teamone.de/javascript/sprache/eventhandler.htm#onload, oder du fragst die Existenz eines Objektes ab, bevor du es benutzt.

                  Hmm ... einfach z.B. mit if(parent.Framename.Formularname.Inputfeld) oder gibt es da noch was spezielles für ?

                  MFG,
                  speedy

                  1. Hmm ... einfach z.B. mit if(parent.Framename.Formularname.Inputfeld) oder gibt es da noch was spezielles für ?

                    Abgesehen mal davon, daß ich hier noch "document" hinter dem Framenamen vergessen hatte ... das scheint nicht zu funktionieren - da bemerkt er trotzdem per Fehlermeldung, daß das Objekt Null ist oder nicht existiert - ist ja auch richtig, da ich darauf prüfe, aber die Fehlermeldung kann ich damit nicht abfangen ... bzw. hab ich das per while() gemacht, aber das wäre ja erstmal egal, ob ich nun per if oder while frage, da beides true bzw. false letzendlich sein muß (ich hab auch schon parent.Framename... == NULL gemacht, aber selbes Ergebnis).

                    MFG,
                    speedy

                    1. Tach,

                      Hmm ... einfach z.B. mit if(parent.Framename.Formularname.Inputfeld) oder gibt es da noch was spezielles für ?

                      genau so dachte ich eigentlich, habe heute aber leider keine Zeit zum Basteln, deswegen http://selfhtml.teamone.de/javascript/sprache/objekte.htm#existenzabfrage, da funktioniert es auf alles Fälle im Mozilla ohne Fehler.

                      mfg
                      Woodfighter