Variable von Popup zurückgeben

d-braun

Erfahrenes Mitglied
Hi,

ich bin gerade dabei ein kleines Bilderverwaltungsscipt zu schreiben welches in ein Projekt integriert werden soll. Allerdings hänge ich gerade an der Stellen wo das Bild an die ursprüngliche Datei zurückgegeben werden soll. Problem bei der Geschichte ist dass die Seite nicht neu geladen werden soll. Wie kann ich das lösen? Ich komm da gerade auf keinen grünen Zweig.

Öffnen der Bildauswahl:
HTML:
<div id="bild"></div>
<input class="submit" name="bild_button" type="button" value="Ausw&auml;hlen" onclick="ImageSelector()" />

Auswahl des Bildes:
HTML:
<a title="auswählen" onclick="SelectImage('62c607d25fd6fd23fff45f693de6198c_thumb.jpg')" href="#">
<img alt="auswählen" src="../../data/images/select.gif"/></a>

Javascript:
Code:
function ImageSelector() {
	var source = "lib/ImageSelector/ImageSelector.php";
	var title = "ImageSelector";
	var width = "850";
	var height = "500";
	window.open(source, title, "width="+width+", height="+height+", top=20, left=20, scrollbars=yes, location=no, directories=no, status=no, menubar=no, toolbar=no, resizable=no, dependent=no");
}

function SelectImage(file) {
	// Hier wird jQuery verwendet
	$("#bild").html(file);
	window.close();
}

Danke schonmal im Voraus.
 
Moin,

du kannst zwischen Popup und opener beliebig interagieren, sofern es sich um Dokumente von derselben Domain handelt. Einzige Ausnahme ist das umherschieben von Knoten...aber das benötigst du in deinem Fall ja nicht.

gehen würde das so:
Code:
opener.variablenname='wert';

Damit würde vom Popup aus eine globale Variable "variablenname" mit dem Wert "wert" belegt(falls sie nicht existiert, wird sie neu erzeugt).

Du kannst aber auch gleich eine Funktion im Elternfenster aufrufen, möglicherweise bringt dir das noch mehr Nutzen:

Code:
opener.funktionsname('wert')
 
Super habs nun wiefolgt gelöst:

Code:
window.opener.document.getElementById(id).innerHTML = 'Wert';

Wusste nicht dass es "opener" gibt :)
Danke für die schnelle Hilfe.
 

Neue Beiträge

Zurück