Michael: Formulareingaben im Popup-Fenster an Opener schicken

Beitrag lesen

Hallo David,

Wenn du versuchst, dich durch diesen Code zu ackern, kannst du fündig werden; ich hoffe nicht, dass ich für das Verständnis essentielle Teile herausgeschnitten habe:

<!--   Das aufgerufene Fenster enthält ein Eingabefeld, einen OK-Button und einen "Nicht ändern" Button
/*
  Eingabefenster mit einem Input-Feld
  Aufruf: softinput?formularname.komponentenname
*/
-->
<SCRIPT LANGUAGE="JavaScript">
<!--
var aktiv = "";
var variablenname = "";
function ok(){
  opener.document.parameter.inputwert.value=window.document.softinput.eingabe.value;
  opener.document.parameter.variablenname.value = variablenname;
  opener.document.parameter.todo.value="ja";
  window.clearTimeout(aktiv);
  window.close();
}
function end(){
  window.clearTimeout(aktiv);
  window.close();
}
function immervorn() {
  self.focus();
  document.softinput.eingabe.focus();
  document.softinput.eingabe.select();
  aktiv = window.setTimeout("immervorn()",2000);
}
function init()
{
  var tmp = this.location.search;
  var textfeld = tmp.substring(1,tmp.length);
  var command_string="window.document.softinput.eingabe.value=opener.document."+textfeld+".value";
  eval(command_string);
  var varinit = textfeld.indexOf(".") + 1;
  var varend = textfeld.length;
  variablenname = textfeld.substring(varinit,varend);
  document.softinput.eingabe.focus();
  document.softinput.eingabe.select();
  document.all.aus.innerHTML = variablenname;
  /*self.focus();
   aktiv = window.setTimeout("immervorn()",2000);*/
}
//-->
</SCRIPT>
<html>
<head></head>
<BODY onLoad=init()>
<form method="POST" name="softinput">
  <table  cellspacing="0" cellpadding="0" border="0" align="center" valign="middle">
  <tr>
    <td colspan="4"> </td>
  </tr>
  <tr>
    <center>
    <td>Parameter:</td><td id=aus> </td><td>  </td>
    <td><input type=TEXT value="" name="eingabe"  style="width=40">  
     <input type="button" value="ok" onClick=ok()></td></center>
  </tr>
  <tr>
    <td colspan="4"> </td>
  </tr>
  <tr>
    <td colspan="4" align=center><input type="button" value="nicht ändern" onClick=end() style="width=200"></td>
  </tr>
</table>
</form>
</body>
</html>

<!--
        Das aufrufende Fenster
<html>
<head>

<script language="JavaScript">
 <!--
 function eingeben(arg){
    Eingabefenster = window.open("softinput.html?"+arg,"main",'top=250,left=530,resizable=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,toolbar=no,width=300,height=150');
    aktiv = window.setInterval("CheckOpen()",10);
 }
 function start_update(){
    window.location.href="funktionen.php?darstellung="+window.document.parameterleiste.darstellung.value+"&funktion=1&"+window.document.parameter.variablenname.value+"="+window.document.parameter.inputwert.value;
 }
 function CheckOpen()
 {
    if(Eingabefenster.closed == true)
    {
       if (window.document.parameter.todo.value == "ja") start_update();
       window.clearInterval(aktiv);
    }
 }
 //-->
 </script>
</head>
<body>

<table>
  <tr>
   <form action=verarbeitung.php method="POST" name="parameterleiste">
    <td>
         <input type=hidden name=darstellung value="0">
         <input type=hidden name=nummer value="{NUMMER}">
            <input type="submit" value="Zurück">
    </td>
   </form>
  </tr>
</table>
<p>

<table align=center cellspacing=0 border=1 cellpadding=0>
  <tr>
     <td>
<form method="post" name="parameter">
<input type="hidden" name="todo" value="">
<input type="hidden" name="inputwert" value="0">
<input type="hidden" name="variablenname" value="">
<tr><td>Parameter:</td></tr>
<tr><input type="button" value="0" name="t11" onClick=eingeben('parameter.t11')></td>
<td></tr></table>
</body>
</html>