• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Wert einer Variablen als Dateiname verwenden

buzi

Neues Mitglied
Hallo,
wie kann ich erreichen, dass nach Klicken auf einen Link in einem Frame die Datei geladen wird, die der zuletzt in einem anderen Frame geöffneten Liste zugeordnet ist.
Einzelheiten:
Ich lerne autodidaktisch JavaScript (stehe noch am Anfang) und realisiere parallel dazu eine Website.
In der Website verwende ich ein Frameset mit den Frames oben, unten und rechts.
In der Datei a.html, die in Frame unten geladen ist, steht diesbezüglich (alle Bezeichnungen sind schematisch, CSS und sonstiges HTML ist weggelassen):
Code:
<head>
   <base target="rechts">
   <script type="text/javascript">
     var abkAktuell = "";
     function aktuellEin (){
      open("[Anweisung]", "oben");
     }
   </script>
</head>
<body>
   <p><a href="liste1.pdf" onclick="abkAktuell = '1abk.html'">Liste1</a></p>
   <p><a href="liste2.pdf" onclick="abkAktuell = '2abk.html'">Liste2</a></p>
   <p><a href="liste3.pdf" onclick="abkAktuell = '3abk.html'">Liste3</a></p>
// usw. bis <p><a href="liste[n].pdf"
// onclick="abkAktuell = '[n]abk.html'">Liste[n]</a></p>

   <p><a onclick="aktuellEin()">aktuelle abk einblenden</a></p>
</body>
Wenn ich im Script [Anweisung] durch 2abk.html ersetze, öffnet nach Klicken auf den Link aktuelle abk einblenden wie gewollt im Frame oben die Datei 2abk.html.
Ziel ist es aber, nach Klicken auf den Link aktuelle abk einblenden die Datei [m]abk.html zu öffnen, die der zuletzt geöffneten liste[m].pdf zugeordnet ist. Frage also: Was muss ich anstelle von [Anweisung] eintragen, damit der aktuelle Wert von abkAktuell verwendet wird?

mfg
 
Werbung:
Wenn ich das richtig verstehe, hast du das Problem fast schon gelöst: In der Variablen abkAktuell steht bereits die Adresse der Seite, die geöffnet werden soll. Dann braucht Du IMO nur diese Variable in der open-Funktion einzusetzen:
Code:
     function aktuellEin (){
      open(abkAktuell, "oben");
     }
Ich würde nur noch Vorkehrung treffen für den Fall, dass noch gar keine Liste geöffnet wurde:
Code:
     function aktuellEin (){
      if (abkAktuell != "") open(abkAktuell, "oben");
     }
 
Werbung:
Danke, Sempervivum
Ich war der Lösung wirklich nahe. Die hatte ich auch schon probiert, hatte aber nicht funktioniert (weil ich irgend etwas falsch gemacht habe) und habe es deshalb verworfen.
Zu Frames: Danke für den Hinweis. Habe ich schon mehrfach gelesen, dass das out ist.
Aber mit Frames konnte ich das erreichen, was ich wollte. Wie gesagt, ich bin Anfänger und konzentriere mich zunächst darauf, das zu lernen, was ich bei der Erstellung/Weiterentwicklung meiner Website jetzt brauche. Wenn ich genügend gelernt habe, werde ich die Frames ersetzen.
mfg, buzi
 
Werbung:
Zurück
Oben