joern allert: formular im neuem fenster

Hallo Forum;
habe hier noch ein kleines Problem.
ich öffne mit auf einer Seite mit einem Formular mit dieser funktion ein neues Fenster. wf übergibt mir die nr des eingabefeldes das gerade aktiv ist(focus).

function open_link_window(wf)
{
var ziel = "function.link.php3?"+wf;
var link_window = window.open ziel,"linkfenster", "width=400,height=400");
  link_window.focus();
}

Im neuen Fenster steht dieser Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Untitled</title>
<script language="javascript">

function wertuebergabe()  
{  

part = window.location.href.split("?");
               wert = part[1];
  document.write("wert: "+wert);
  var linkname = document.formular.Eingabe1.value;
    var linkhref =  document.formular.Eingabe2.value;
    var linktarget =  document.formular.Eingabe3.value;
    var linktext       = "<#>";
  var alterinhalt = opener.document.forms[0].elements  [wert].value;
  opener.document.forms[0].elements[wert].value = alterinhalt + linktext;
  self.close();
}
</script>
</head>

<body>
<table border="0" width="400" cellpadding="0" cellspacing="0">
<tr>
<td width="20"> </td>
<td width="360">
<form name="formular">
<table border="0" width="360" cellpadding="0" cellspacing="0">
<tr>
  <td>Name</td>
  <td><input type="text" name="Eingabe1" size="20"></td>
</tr>
<tr>
  <td>Ziel</td>
  <td><input type="text" name="Eingabe2" size="20"></td>
</tr>
<tr>
  <td>Target</td>
  <td><input type="text" name="Eingabe3" size="20"></td>
</tr>
<tr>
  <td><input type="button" value="abschicken" onClick="wertuebergabe()"></td>
  <td><input type="button" value="Schliessen" onClick="self.close()"></td>
</tr>
</table>
</form>
</td>
<td width="20"> </td>
</tr>
</table>

</body>
</html>

Ziel des ganzen ist, dass die Eingabe, die in die input FElder der neuen Seite gemacht wurden, in das Formular der aufrufenden Seite übernommen werden.
Was jetzt komischerweise nicht klappt ist das Auslesen des Formulars im neuem Fenster. Der Javascripfehler lautet: document.formular has no properties.
DAs bezieht sich auf die Zeile var linkname = document.formular.Eingabe1.value;

Kann mir da jemand weiterhelfen?
Hoffe ich konnte das Problem einigermassen verständlich schildern.
Danke,
Jörn

  1. Hi Jörn,

    Was jetzt komischerweise nicht klappt ist das Auslesen des Formulars im neuem Fenster. Der Javascripfehler lautet: document.formular has no properties.
    DAs bezieht sich auf die Zeile var linkname = document.formular.Eingabe1.value;

    Ist eigentlich kein Wunder, denn im aufrufenden Fenster gibt's ja kein Element namens "Formular" - Du musst noch mitgeben, in welchem Fenster das Formular ist, also etwa:

    parent.linkfenster.document.formular.Eingabe1.value;

    Grüße,

    Utz

    1. Hallo Utz,

      Ist eigentlich kein Wunder, denn im aufrufenden Fenster gibt's ja kein Element namens "Formular" - Du musst noch mitgeben, in welchem Fenster das Formular ist, also etwa:

      parent.linkfenster.document.formular.Eingabe1.value;

      Ich habe doch die Funktion wertuebergabe() in dem neuen Fenster aufgerufen, und da gibt es das Formular mit Namen formular.

      Ich habe deine Version mal ausprobiert. Dann kriege ich die Fehlermeldung :
      parent.linkfenster has no properties
      statt.
      document.formular has no properties.

      Oder habe ich deinen Vorschlag jetzt falsch verstanden.
      Jörn

    2. Hallo Utz!

      parent.linkfenster.document.formular.Eingabe1.value;

      Hmmh... es handelt sich hier nicht um Frames, sondern um ein Formular auf einer Seite, von der aus ein Popup-Fenster geöffnet wird. (parent.fenstername ginge ja in einem Frameset).

      Hier wäre:

      opener.document.formular.Eingabe1.value;

      angebracht, oder?

      Bis danndann
      PAF (patrickausfrankfurt)

      <img src="/selfaktuell/extras/selfcomm.jpg" alt=""> http://www.atomic-eggs.com/selfspezial/guests/advguest.cgi?view

      <img src="http://www.atomic-eggs.com/selfspezial/atomicegg.gif" id="ei" alt="Atomic Eggs - die humosophische Seite" onMouseUp="window.location.href='http://www.atomic-eggs.com/'" onmouseover="if(document.all)document.all.ei.style.cursor='hand';status='http://www.atomic-eggs.com/';return true;" onmouseout="status='';return true;">

      1. Hallo Patrick,

        Hier wäre:

        opener.document.formular.Eingabe1.value;

        angebracht, oder?

        auch nicht.
        Das Formular, das ich mit document.formular.Eingabe1.value nicht ansprechen kann, befindet sich ja nicht im opener, sondern im geöffneten Fenster.
        Vielleicht möchte sich das ja mal jemand online anschauen. Scheinbar konnte ich mein Problem nicht gut schildern.
        http://www.elwiz.de/test/content.insert.php3

        Bis denn,
        jörn

        1. Hi Jörn,

          so, jetzt hat's mir doch keine Ruhe gelassen...Patrick hatte schon recht, ich lag da ziemlich falsch.

          Ich hab noch n bisschen gebastelt und es im Prinzip zum Funzen gebracht - die Dateien umbenannt, ne Menge Code rausgeschmissen und die Übergabe des aktiven Formularfeldes über window.name gelöst.

          Die Erste Datei heißt bei mir content.htm, die zweite function.htm.

          JS-Teil in content.htm:

          <script language="javascript">
          var wf;
          function open_link_window(wf)
          {
                  var ziel = "function.htm";
                  var link_window = window.open(ziel,wf, "width=400,height=400,statusbar=yes");
          }
          </script>

          JS-Teil in function.htm:

          <script language="javascript">

          var wf = window.name;

          function wertuebergabe()
                  {
                          var linkname = document.formular.Eingabe1.value;
                          var linkhref =  document.formular.Eingabe2.value;
                          var linktarget =  document.formular.Eingabe3.value;
                          var linktext = "[LINK: "+linkname+":"+linkhref+"."+linktarget+"]";
                          opener.document.forms[0].elements[wf].value = opener.document.forms[0].elements[wf].value + linktext;
                          self.close();
                  }
                  </script>

          Der Rest der Dateien ist unverändert. Das funzt mit IE 5 auf NT 4 - NS 4.6 zeigt schon mal das Formular auf content.htm gar nicht an, da musst Du noch mal kräftig drüber, aber es ging ja jetzt erst mal nur ums Prinzip, oder?

          Grüße,

          Utz

          1. Hallo Utz,
            danke für die Mühe. Ich probiere jetzt noch mal ein bischen rum. Ein wenig klappt es ja jetzt schon. Vielleicht muss ich noch mal ne Frage stellen.
            Bis denn,
            jörn