glowhead: Erklärung zu zwei Frames ändern?

Hoi!
Kann mir vieleicht einer die genaue funktionsweise der in selfhtml beschriebenen Variante zum ändern von zwei frames gleichzeitig erklärn! hier nochma kurz die codes:

function ZweiFrames(URI1,F1,URI2,F2) {
  Frame1=eval("parent."+F1);
  Frame2=eval("parent."+F2);
  Frame1.location.href = URI1;
  Frame2.location.href = URI2;
}

und mein Aufruf:

<a href="javascript:ZweiFrames('prod_gi_d.htm','unten','prod_d.htm','oben')">
<img src="button.gif" height="30" width="30" border="0" alt="Software Produkte" vspace="7"><br>Produkte</a>

Am liebsten würd ich ja noch ne andere Funktion(íst auf jeden fall funktional!!) aufrufen um den Link dynamisch zu generieren, ungefäir so:

<a href="javascript:ZweiFrames('sprachanzeige('prod_gi_')','unten',
'sprachanzeige('prod_')','oben')">
<img src="button.gif" height="30" width="30" border="0" alt="Software Produkte" vspace="7"><br>Produkte</a>

aber das ließe sich umgehen!
Doch was mache ich überhaupt falsch? Bei der ersten Aufruf-Variante kommt in meiner Javascript-Console "Frame1 has no properties",
und bei der zweiten Aufruf-Variante sagt mir die Console "missing ) after argument list"! Wäre euch sehr dankbar wenn ihr mir nen tipp geben könntet wie die zweite aufrufvariante funktioniert, ansonsten nutz ich auch die erste wenn se funktionieren würde! mfg glowhead

  1. Hoi!
    Kann mir vieleicht einer die genaue funktionsweise der in selfhtml beschriebenen Variante zum ändern von zwei frames gleichzeitig erklärn! hier nochma kurz die codes:

    function ZweiFrames(URI1,F1,URI2,F2) {
      Frame1=eval("parent."+F1);
      Frame2=eval("parent."+F2);
      Frame1.location.href = URI1;
      Frame2.location.href = URI2;
    }

    Nicht diese Variante, sie ist Fehleranfällig und langsam und führt in Netscape vermehrt zu abstürzen.

    eval ist evil!

    Nimm diese, sie macht das gleiche ohne eval:

    function ZweiFrames(URI1,F1,URI2,F2)
    {
    parent[F1].location.href = URI1;
    parent[F2].location.href = URI2;
    }

    Zu deinem Problem

    lass dir in der funktion mal alle Daten ausgeben:
    function ZweiFrames(URI1,F1,URI2,F2) {

    alert(F1);
    alert(parent[F1]);

    parent[F1].location.href = URI1;
    parent[F2].location.href = URI2;
    }

    Dann erkennst du wo der Wurm sitzt.

    Struppi.

    1. hoi nochma!
      Funktioniert immer noch nicht! Bekomme auch noch keine alerts zu sehen wenn ich den Button drücke!
      Das einzige was ich seh is in der javascript console der satz:

      Error: missing ) after argument list
      Source File: javascript:ZweiFrames('sprachanzeige('prod_gi_')','unten',
      'sprachanzeige('prod_')','oben')
      Line: 1, Column: 27
      Source Code:
      ZweiFrames('sprachanzeige('prod_gi_')','unten','sprachanzeige('prod_')','oben')

      mit der function  ZweiFrames() will ich die beiden Frames halt austauschen! sprachanzeige('prod_') ist eine andere funktion mit deren parameter, ich einen string aus value von zwei radios,dem besagten Parameter und Extention die Linkadresse zusammenführ! Wenn das nicht in dieser Zweiframes Möglichkeit geht wär net schlimm! Hier nochmal mein derzeitiger Quellcode:

      function ZweiFrames(URI1,F1,URI2,F2)
      {
      alert(F1);
      alert(parent[F1]);
       parent[F1].location.href = URI1;
       parent[F2].location.href = URI2;
      }

      Ausser das ich die ausgelagerte js. datei deklariere im head brauch ich die Funktion doch nur in den entsprechenden Links aufzurufen, oder?

      <td width="100" align="center">
      <a href="javascript:ZweiFrames('sprachanzeige('prod_gi_')','unten',
      'sprachanzeige('prod_')','oben')">
      <img src="button.gif" height="30" width="30" border="0" alt="Software Produkte" vspace="7"><br>Produkte</a></td>

      Danke für die Hilfe! mfg glowhead

      1. Hi,

        Funktioniert immer noch nicht! Bekomme auch noch keine alerts zu sehen wenn ich den Button drücke!

        Das liegt am falschen Code bereits im Aufruf, welcher zu einem JavaScrpt-Fehler führt. Die Funktion wird erst gar nicht gestartet.

        Das einzige was ich seh is in der javascript console der satz:

        Error: missing ) after argument list
        Source File: javascript:ZweiFrames('sprachanzeige('prod_gi_')','unten',

        Siehe mein anderes Posting.

        Cheatah

        --
        X-Will-Answer-Email: No
  2. Hi,

    <a href="javascript:ZweiFrames('sprachanzeige('prod_gi_')','unten',
    'sprachanzeige('prod_')','oben')">
    Doch was mache ich überhaupt falsch?

    Du übergibst als URL 'sprachanzeige(', vergisst dann das Komma, um als Framenamen den Inhalt der (vermutlich nicht existenten) Variable prod_gi_ zu übergeben, vergisst dann wieder das Komma, übergibst als zweite URL ')', als zweiten Framenamen 'unten', sowie vier weitere, nicht benötigte Argumente, die bisweilen ebenfalls nicht durch Komma getrennt werden. Insgesamt ist das eine falsche Syntax.

    Soll heißen: Da sind ein paar Anführungszeichen zu viel. Welche das sind, überlasse ich Dir :-)

    Cheatah

    --
    X-Will-Answer-Email: No