Opener funktioniert nicht aus frame
Thomas Monninger
- javascript
Hallo,
Ich rufe über Javascript aus einem Frame ein Popupfenster auf (window.open(...)). Nun will ich aus dem Fenster über einen Link einen Text in eine Textarea des vorherigen Frames hinzufügen:
<script language="javascript">
<!--
function texten(dertext) {
opener.document.gaestebuchform.kommentar.value += dertext+" ";
opener.document.gaestebuchform.kommentar.focus();
window.close();
}
//-->
</script>
Die Zielform heißt "gaestebuchform" und die Textarea heißt "Kommentar".
Das funktioniert allerdings nicht. Wenn ich es ohne Frame teste funktioniert es, was muss ich da ändern?
Das funktioniert allerdings nicht. Wenn ich es ohne Frame teste funktioniert es, was muss ich da ändern?
_Was_ hat wohl die opener-Eigenschaft, weil es geöffnet wurde?
Es lag wohl doch nicht am Frame. Aber immer wenn ich das Skript lokal teste, geht es wunderbar und sobald ich es hochgeladen hab und teste macht es gar nichts mehr :-(.
Ich kenne mich in Javascript nicht aus und weiß auch gar nicht genau, was die opener eigenschaft angibt.
hallo thomas
...
opener.document.gaestebuchform.kommentar.focus();
...
Das funktioniert allerdings nicht. Wenn ich es ohne Frame teste funktioniert es, was muss ich da ändern?
...
klar
der pfad ist unvollständig für ein frameset
versuche mal
opener.[framename].form.feld.wert
gruß
qp
Hallo,
der pfad ist unvollständig für ein frameset
versuche mal
opener.[framename].form.feld.wert
Das kann ich nicht nachvollziehen. In all meinen Tests verweist opener auf das window-Objekt des Frame-Dokuments, aus dem das Popup geöffnet wurde, nicht auf das window-Objekt des Frameset-Dokuments (das wäre wiederum opener.parent). Abgesehen davon würde document fehlen. opener.document.formularname.feldname.value/.focus() sollte prinzipiell funktionieren, der Fehler liegt wahrscheinlich woanders.
Mathias
Hallo,
Das kann ich nicht nachvollziehen. In all meinen Tests verweist opener auf das window-Objekt des Frame-Dokuments, aus dem das Popup geöffnet wurde, nicht auf das window-Objekt des Frameset-Dokuments (das wäre wiederum opener.parent). Abgesehen davon würde document fehlen. opener.document.formularname.feldname.value/.focus() sollte prinzipiell funktionieren, der Fehler liegt wahrscheinlich woanders.
War da nicht irgendwas mit Domainübergreifenden Restrikitven?
hab schon lange keine Fenster mehr geöffnet :D
Könnte es daran liegen? Anonsten das Problem mal eingrenzen. Also zuerst prüfen ob opener existiert, dann evtl schauen welches Frame referenziert wird, alert(opener.name)
Es gab glaube ich einige Browser die Probleme bei Frames machten, wenn man Namen verwendet die auch Objekteigenschaften von window-Objekten sind. Möglicherweise besteht ein sollcher Konfikt.
Ungeschickt wäre z.b.
<frame name="document" ...>
gruss
Thorsten