Ich kann nicht fensterln ... :-(
Andrea Stiegler
- javascript
0 Markus Thomas0 Utz0 Martin
Hallo,
ich habe ein kleines Problem:
ein Framset Frame A
Frame B hat ein Inputfeld myINPUT
Nun öffne ich aus Frame B ein neues Fenster namens Test
Test soll nun in Frame B ein paar Input-felder füllen.
Meine Lösung window.opener.myInput.value="hallo" führt immer
wieder zur Fehlermedlung "Zugriff verweigert".
Wie kann ich das beheben?
Danke,
Andrea
Hallo,
Meine Lösung window.opener.myInput.value="hallo" führt immer wieder zur Fehlermedlung "Zugriff verweigert".
^^^ hier fehlt der Formularname.
wenns dann auch nicht geht probiers mal mit parent.frameName.blabla
HTH Markus
Hallo Andrea,
Du schreibst einmal myINPUT und einmal myInput - ich nehme an das ist ein Tippfehler und es heißt in beiden Fällen myInput (oder andersrum) - JavaScript ist ja case-sensitiv.
Der eigentliche Fehler dürfte - wenn das so ist - hier liegen:
window.opener.myInput.value="hallo"
Um zu myInput zu gelangen, musst Du in der Objekthierarchie natürlich zuerst auf das Formular verweisen, also z.B.
window.opener.forms[0].myInput.value="hallo"
oder je nachdem wie die Form bei Dir heißt dann halt mit Namen.
Grüße,
Utz
Hallo Andrea,
ich weiß nicht, ob du mit den Hinweisen meiner Vorredner schon etwas anfangen konntest, aber ich möchte dich noch auf ein mögliches Problem hinweisen.
Meine Lösung window.opener.myInput.value="hallo" führt immer
wieder zur Fehlermedlung "Zugriff verweigert".
Das bringt mich auf die Frage: Wo kommt der HTML-Inhalt des neuen Fensters "Test" her? Es ist nämlich in Javascript nicht erlaubt (und ergo i.d.R. auch nicht möglich), auf Fenster zuzugreifen, deren Inhalt von einer anderen Domain stammt. Auch dann nicht, wenn Frame B (in deinem Beispiel) das Fenster "Test" selbst geöffnet hat.
Die Hinweise von Markus und Utz, dass scheinbar der Formularname fehlt, sind dagegen nur die halbe Wahrheit. Denn auch wenn man INPUT-Elemente normalerweise in einem Formular verwendet, ist das nicht zwingend nötig. Wenn man die Feldinhalte sowieso per Javascript auslesen oder setzen will, kann man die INPUT-Elemente auch ohne umschließendes FORM verwenden. Und falls du das getan hast, ist auch deine Adressierung vollkommen richtig.
Weiter viel Erfolg beim Basteln,
Martin