molily: Daten in neuem Fenster erfassen

Beitrag lesen

Hallo,

Da ich aber (in diesem speziellen Fall) keine Möglichkeit habe, eine bestimmte Datei aufzurufen, wollte ich ein leeres Fenster öffnen und dort HTML einfügen. Das funktioniert auch noch und ich kann dort ein <form> anzeigen und Daten eingeben.

Aber wie bekomme ich die Daten wieder ins aufrufende Script zur weiteren Verarbeitung?

Über das Objekt opener kannst du auf das window-Objekt des Fensters zugreifen, das das Popup-Fenster geöffnet wird.
Notierst du z.B. opener.variable = "wert";, kannst du im Ursprungsdokument eine (String-)Variable mit dem Namen »variable« setzen und sie hat den Wert "wert". Genauso funktioniert das Aufrufen von Funktionen im Ursprungsdokument.

Leider kann ich in das leere Fenster keine <script> Anweisungen einfügen.

Warum nicht? Zum Beispiel:

  
<html>  
<head>  
<script type="text/javascript">  
function zeige () {  
 document.getElementById("a").firstChild.data = bla;  
}  
var neuesfenster;  
function oeffne () {  
 neuesfenster = window.open('', 'neuesfenster');  
 neuesfenster.document.open();  
 neuesfenster.document.write("<html><head><title>bla<\/title><script type='text/javascript'> function sende (form) { opener.bla = form.elements.bla.value; } <\/script><\/head><body><form action='' onsubmit='sende(this); opener.zeige(); self.close(); return false'><p><input type='text' name='bla'> <input type='submit' value='senden'><\/p><\/body><\/html>");  
 neuesfenster.document.close();  
}  
</script>  
</head>  
<body>  
  
<p onclick="oeffne()" id="a">öffne fenster</a></p>  
  
</body>  
</html>  

Mathias