Erzeugerfenster erreichen
Markus
- javascript
0 Siechfred0 Wilhelm Turtschan0 Markus
Hallo
Kleine Frage :
Wie erreiche ich aus einem Popup-Fenster heraus das Fenster, dass "mich" erzeugt hat ?
parent funktioniert nicht, Liegt wohl daran dass man nur Frames damit adressieren kann ??
Hallo Markus.
Wie erreiche ich aus einem Popup-Fenster heraus das Fenster, dass "mich" erzeugt hat ?
Du suchst vermutlich opener.
Freundschaft!
Siechfred
Ok, jetzt habe ich aber ein anderes Problem :)
Meien Idee. Ich habe in einem Fenster ein <input type="text">
Dort soll sowohl frei eingegeben werden können, als auch Inhalt aus einer vordefinierten Liste zugewiesen werden.
Also gibt es einen Button der ein Pop-Up öffnet indem eine <select> Liste ist, unn einen Button der folgende function ausführt :
function setSchema() {
var schema = window.document.forms[0].elements[0].value;
if(schema!=null) {
window.opener.window.document.forms[0].elements[0].value = "schema";
window.close();
}
}
Die Funktion liest den Wert angewählten Wert aus der select-Liste aus (geht das überhaupt mir value ?)
Und setzt im opener-Fenster dann das Text-Feld auf diesen Wert.
(Ja die Adressierung über forms[0].elements[0] ist in beiden Fällen korrekt, es ist imemr das erste Formular udn das erste Element)
Warum funktioniert das nicht ? Und/Oder kann ich das geschickter lösen ?
Gruss
Markus
Hallo,
Meien Idee. Ich habe in einem Fenster ein <input type="text">
Dort soll sowohl frei eingegeben werden können, als auch Inhalt aus einer vordefinierten Liste zugewiesen werden.
Also gibt es einen Button der ein Pop-Up öffnet
Wieso muss man dazu ein neues Fenster öffnen?
indem eine <select> Liste ist, unn einen Button der folgende function ausführt :
function setSchema() {
var schema = window.document.forms[0].elements[0].value;
if(schema!=null) {
Wieso gerade »null«? Eher != "".
window.opener.window.document.forms[0].elements[0].value = "schema";
opener ist bereits das window-Objekt des opener-Fensters. opener.document reicht also, um dessen document-Element anzusprechen.
Außerdem meinst du wohl ».value = schema;«
window.close();
}
}Die Funktion liest den Wert angewählten Wert aus der select-Liste aus (geht das überhaupt mir value ?)
Jein. Ältere Browser können es möglicherweise nicht. Da ist z.B. select_element.options[select_element.options.selectedIndex].value nötig.
(Ja die Adressierung über forms[0].elements[0] ist in beiden Fällen korrekt, es ist imemr das erste Formular udn das erste Element)
Trotzdem unklug, weil es schlecht ausbaubaren und nicht robusten Code erzeugt. Das ist immer defizitärer Programmierstil. Bei solchen Kleinigkeiten fangen Einfachheit, Eindeutigkeit, Kompatibilität und Erweiterbarkeit an.
Warum funktioniert das nicht ?
Was für eine Fehlermeldung kommt? (http://glasgoogle.de/)
Und/Oder kann ich das geschickter lösen ?
Zum Beispiel dein Formular einfacher strukturieren, um Popups zu vermeiden und mit JavaScript höchstens das Formular in einem Fenster dynamisch umstrukturieren.
Mathias
habe d'ehre
Wie erreiche ich aus einem Popup-Fenster heraus das Fenster, dass "mich" erzeugt hat ?
window.opener ist Dein Freund.
man liest sich
Wilhelm
Ok, jetzt habe ich aber ein anderes Problem :)
Meien Idee. Ich habe in einem Fenster ein <input type="text">
Dort soll sowohl frei eingegeben werden können, als auch Inhalt aus einer vordefinierten Liste zugewiesen werden.
Also gibt es einen Button der ein Pop-Up öffnet indem eine <select> Liste ist, unn einen Button der folgende function ausführt :
function setSchema() {
var schema = window.document.forms[0].elements[0].value;
if(schema!=null) {
window.opener.window.document.forms[0].elements[0].value = "schema";
window.close();
}
}
Die Funktion liest den Wert angewählten Wert aus der select-Liste aus (geht das überhaupt mir value ?)
Und setzt im opener-Fenster dann das Text-Feld auf diesen Wert.
(Ja die Adressierung über forms[0].elements[0] ist in beiden Fällen korrekt, es ist imemr das erste Formular udn das erste Element)
Warum funktioniert das nicht ? Und/Oder kann ich das geschickter lösen ?
Gruss
Markus