Klaus Selhorst: Datenübergabe zwischen 2 Frames: Browserkonflikt

Hallo allerseits,
nachdem ich nun schon etliche Beiträge gelesen habe, fält mir bei meinem Problemchen nichts mehr ein. Daher muß auch mal eine Frage zur Werteübergabe zwischen zwei Frame-Fenstern stellen.

Ich möchte also Daten von einem Frame zum anderen schicken. Das geht ja auch mit IE4 und 5 und auch mit Opera, das Feld2 wird aktualisuiert. Aber NS4.5 macht rein gar nichts. Ich habe keine Ahnung mehr, woran das liegen kann.

Zur Vereinfachung habe ich die Frames unten angehängt.

Für jede Hilfe bin ich dankbar!

Klaus

Frameoben lautet:

<html><head></head>
<body>
<FORM name="Eingabe" >
<input type=text name="Feld1" value="12345">
</form>
</body>
</html>

Frameunten lautet:

<html><head><script language="JavaScript">
<!--
function test()
{
parent.Frameunten.Ausgabe.Feld2.value = parent.Frameoben.Eingabe.Feld1.value
}
  //-->
</script>
</head>
<body >
<A HREF='#' onclick="test();return false"><IMG SRC="Bild.gif" border="0"></A>
<FORM name="Ausgabe" >
<input type=text name="Feld2" value="">
</form>
</body></html>

  1. Hallo Klaus,

    Frameoben lautet:

    <html><head></head>
    <body>
    <FORM name="Eingabe" >
    <input type=text name="Feld1" value="12345">
    </form>
    </body>
    </html>

    Frameunten lautet:

    <html><head><script language="JavaScript">

    »»  <!--
    »»  function test()
    »»  {
    »»  parent.Frameunten.Ausgabe.Feld2.value = parent.Frameoben.Eingabe.Feld1.value
    »»  }

    //-->
    </script>
    </head>
    <body >
    <A HREF='#' onclick="test();return false"><IMG SRC="Bild.gif" border="0"></A>
    <FORM name="Ausgabe" >
    <input type=text name="Feld2" value="">
    </form>
    </body></html>

    Du sprichst das eigene Frame mit parent... an, dat gäht net.
    Anstelle von parent.Frameunten.Ausgabe.Feld2.value = parent.Frameoben.Eingabe.Feld1.value schreibe document.Ausgabe.Feld2.value = parent.Frameoben.Eingabe.Feld1.value

    Und das auch nur unter der Voraussetzung das du im Frameset die Frames die Namen "Frameoben" und "Frameunten" gegeben hast.

    parent wird nur benutzt um auf andere Frames oder Fenster zuzugreifen, aber nie auf sich selbst. Dafür gibt es schließlich document.

    Grüße
    Thomas

    1. Du sprichst das eigene Frame mit parent... an, dat gäht net.
      Anstelle von parent.Frameunten.Ausgabe.Feld2.value = parent.Frameoben.Eingabe.Feld1.value schreibe document.Ausgabe.Feld2.value = parent.Frameoben.Eingabe.Feld1.value

      Und das auch nur unter der Voraussetzung das du im Frameset die Frames die Namen "Frameoben" und "Frameunten" gegeben hast.

      parent wird nur benutzt um auf andere Frames oder Fenster zuzugreifen, aber nie auf sich selbst. Dafür gibt es schließlich document.

      Grüße
      Thomas

      Hallo Thomas,
      Danke für die Mitteilung. Als sagen wir mal fortgeschrittener Anfänger bin ich darüber gestolpert. Aber trotz dieser Änderung geht die Übergabe unter Netscape4.5 nicht. Nach onclick tut sich gar nichts.

      Danke
      Klaus

  2. Hallo!

    Kein Browserkonflikt, sondern ein JS-Fehler!

    »»  parent.Frameunten.Ausgabe.Feld2.value = parent.Frameoben.Eingabe.Feld1.value

    parent.Frameoben.document.Eingabe.Feld1.value = document.Ausgabe.Feld2.value;

    Mit dieser Zeile habe ich einen Wert ins andere Frame geschaufelt bekommen. Die Zuweisung der value-Wertes war falsch und die Zeilen an sich, document usw. vergessen.

    mfg, André

    1. Hallo!

      Kein Browserkonflikt, sondern ein JS-Fehler!

      »»  parent.Frameunten.Ausgabe.Feld2.value = parent.Frameoben.Eingabe.Feld1.value

      parent.Frameoben.document.Eingabe.Feld1.value = document.Ausgabe.Feld2.value;

      Mit dieser Zeile habe ich einen Wert ins andere Frame geschaufelt bekommen. Die Zuweisung der value-Wertes war falsch und die Zeilen an sich, document usw. vergessen.

      mfg, André

      Hallo André
      das war der Fehler. Ich hatte rechts und links das document vergessen. Zwei mal parent.frameXX.doc... geht aber auch.
      Danke für die Hilfe.
      Klaus