auf Formular in Frameset-Seite zugreifen
speedy
- javascript
0 Ole0 speedy0 Ole0 speedy0 Jens Holzkämper0 speedy
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
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-)>
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
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-)>
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
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
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
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
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
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
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