Daten aus Popup in Formular übergeben

Lumpi02

Erfahrenes Mitglied
Hi,
ich hab mich jetzt schon den ganzen Tag damit herum geschlagen und weis keinen Rat mehr :(
Es wird in diversen Foren immer von opener.document... gesprochen, aber irgendwie mags bei mir nicht.

Die Aufgabe:
Ich habe eine Form namens "eingabe" und eine Textarea namens "event". Drüber ist ein Button, der mir ein Popup aufmacht mittels

Code:
 <script>
<!--
function fenster(){
window.open("bild.java.eing.php","",",toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=0,width=400,height=300")
}
//-->
</script>
<form><center><input type="button" value="Bild einfügen" onclick="fenster()"> </p>
</center></form>

Daraufhin geht ein Popup auf und ein Verzeichnis mit Bildern wird ausgelesen. Soweit, sogut.

Nun möchte ich erreichen, das man auf ein Bild klickt und der code [pic]bildname.jpg[/pic] in meine Form übertragen wird.

Und da gehts dann los...

Code:
 <script type="text/javascript">
<!--
function bild(bildtext) {
opener.document.eingabe.event.value += bildtext+" ";
self.close();
 
}
//-->
</script>

steht im Head-Bereich
und mit

Code:
... Verzeichnis öffenen und auslesen
 
echo "<img src=\"../bilder/event/$file\" border=\"0\"
onclick=\"bild('[pic]$file[/pic]')\"
onmouseover=\"this.style.cursor='hand';\" />";
 
...Verzeichnis schliessen

Soweit zur Therorie.
Leider kommt nun immer ein Fehler, das opener.document... kein Objekt sei
Irgendwie trete ich auf der Stelle, könnt ihr mir an dieser Stelle hilfreich sein?

Gruß Lumpi02
 
Hi,

spontan sehe ich nichts verbotenes, außer dass "event" ein reserviertes Wort ist und nicht als Name für ein Element verwendet werden sollte. Hast Du es mal mit einer ID und
HTML:
opener.document.getElementById("id_des_textfeldes")
probiert?

Gruß

.
 
Hmm reserviertes Wort... klar, gleich mal auf event1 geändert und mit getElementById("event1") versucht, aber gleicher "Erfolg" :(


opener.document.getElementById(...) ist Null oder kein Objekt -.-

Gruß Lumpi02
 
Hi,

bei mir funktioniert das einwandfrei. Kannst Du die Seite mal verlinken, dass ich mir den von PHP generierten Quelltext im PopUp anschauen kann? Bzw.: was gibt z.B. alert(opener) oder alert(opener.document) aus? Mit welchem Browser zeigst Du das an?

Gruß

.
 
Nanu, jetzt funktionierts wie gewollt :)

Ich habe zwar nichts mehr verändert, aber irgendwie lags vielleicht an einem neuen Browserfenster. IE nutze ich im übrigen und Vielen Dank für deine Hilfe :)

Gruß Lumpi02

Edit: name=event1 id=event1 steht beides drin, danke auch dir :)
 
Mal eins noch...

Das der Text an der Stelle eingefügt wird, wo der Cursor steht, geht das mit

Code:
opener.document.getElementById("event1").focus();

oder wie kann man das machen?

Gruß
 
Tobias Menzel hat gesagt.:
Hi,

spontan sehe ich nichts verbotenes, außer dass "event" ein reserviertes Wort ist und nicht als Name für ein Element verwendet werden sollte. Hast Du es mal mit einer ID und
HTML:
opener.document.getElementById("id_des_textfeldes")
probiert?

Gruß

.

Und wenn ich nun in das entsprechende Input-Feld, welches ich mit der entsprechenden ID ausgewiesen habe, nun mit einem Wert füllen will, dann mach ich das mit:
HTML:
opener.document.getElementById("id_des_textfeldes").value= +id+

Was mache ich falsch? Wenn ich es so mache, dann funktioniert es nicht. Mein input-Feld wird nicht mit der geeünschten Ziffer gefüllt.

Brauche bitte dringend Hilfe!
Danke
 
Tucker hat gesagt.:
opener.document.getElementById("id_des_textfeldes").value= +id+
So wie's da steht sind auf jeden Fall zwei Plus-Zeichen zu viel.

Du meinst entweder
Code:
opener.document.getElementById("id_des_textfeldes").value += id;
und "id" ist irgendeine Variable, die einen Text enthält

oder du meinst
Code:
opener.document.getElementById("id_des_textfeldes").value = 'id';
oder vielleicht beides.
 

Neue Beiträge

Zurück