Auswahlliste-wie in den MainFrame verlinken?

Der O

Mitglied
Hallo,

ich habe mir aus dem Netz eine Auswahl zusammengebastelt, bei der man zunächst im 1. Dropdown Menü das Jahr wählt, und im 2. Dropdown Menü dann das Treffen (geht um Autos).

Jetzt die Frage:

Das funktioniert auch alles gut, nur wenn ich auf Anzeigen klicke, wird die Seite dann immer im selben Frame geöffnet.

Aber möchte aber, dass sie sich im mainFrame öffnet.

Wie und wo muss ich das einbauen? (target="mainFrame" )

Eine Hilfe hierzu wäre toll, da ich leider nicht so viel Ahnung davon habe. :)

PHP:
<script type="text/javascript">
<!--

var first, second, entry;


function intro() {

 first = document.form.list1.length;
 second = document.form.list2; 


 entry = new Array(first);
 for (var i = 0; i < first; i++) {
  entry[i] = new Array(); // mehrdimensionales Array
 }

 entry[0][0] = ["", "Treffen 1"];
 entry[0][1] = ["", "Treffen 2"];
 entry[0][2] = ["", "Treffen 3"];
 entry[0][3] = ["", "Treffen 4"];

 entry[1][0] = ["", "Treffen 5"];
 entry[1][1] = ["", "Treffen 6"];
 entry[1][2] = ["", "Treffen 7"];
 entry[1][3] = ["", "Treffen 8"];
 entry[1][4] = ["", "Treffen 9"];
 
 entry[2][0] = ["", ""];
 entry[2][1] = ["", ""];
 entry[2][2] = ["", ""];
 entry[2][3] = ["", ""];
 entry[2][4] = ["", ""];

 entry[3][0] = ["", ""];
 entry[3][1] = ["", ""];
 entry[3][2] = ["", ""];
 entry[3][3] = ["", ""];
 entry[3][4] = ["", ""];
}


function setOptions(sel) {

 second.length = 0; // Aktuelle second-options loeschen

 for(var i = 0; i < entry[sel].length; i++) { // second-Liste neu aufbauen
  second[i] = new Option(entry[sel][i][1], entry[sel][i][0]);
 }
 second[0].selected = true; // Ersten Eintrag selektieren
}


function load() {

 location.href = second.options[second.selectedIndex].value;
}
//-->
</script>

</head>

<body bgcolor="363636" onload="intro()">
<h4 align="left"><br>
  <img src="../../Sitepics/shows.jpg" width="104" height="34"></h4>
<form name="form" action="">

  <table align="left">
    <tr> 
      <td width="152"><font color="#CCCCCC" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Jahr</strong></font><br> <select name="list1" size="1" onchange="setOptions(this.options.selectedIndex)" width="140" style="width:140px;">
          <option>2003</option>
          <option>2004</option>
        </select>
        <br>
        <br>
        <strong><font color="#CCCCCC" size="2" face="Verdana, Arial, Helvetica, sans-serif">Treffen</font></strong><br> <select name="list2" size="1" width="140" style="width:140px;">
          <option value="">Treffen auswählen...</option>
        </select>
        <br>
        <br>
        <input type="button" value="Anzeigen" onclick="load()"> </td>
    </tr>
  </table>
</form>
 
Vielen Dank für deine Hilfe!

Leider passiert nun folgendes:

Der LInk öffnet sich im ganzen Frameset (als wenn man als Ziel _parent) setzt.

Er soll sich aber nur rechts öffnen.
Anbei ist ein Bild, um das kurz zu verdeutlichen.

Ich habs chon versucht zu ändern, aber er öffnet sich immer Links, oder eben als _parent.

Kannst du mir da evtl noch einmal helfen?

Danke und Gruß!
 

Anhänge

  • frame.jpg
    frame.jpg
    35,7 KB · Aufrufe: 39
Hi,

und wenn Du es mit
Code:
top.frames["mainFrame"].location="sonstwas.htm";
bzw.
Code:
parent.frames["mainFrame"].location="sonstwas.htm";
versuchst?

der Framename muss natürlich korrekt angegeben werden.

Gruß
 
Hallo,

Hab es gerade ausprobiert.

Leider wieder das selbe Ergebnis.

Wenn ich deinen ersten Vorschlag nehme, dann öffnet es sich wieder als _parent, wenn ich den 2. nehme, wir dder Link wieder links geöffnet.

Hast du, oder hat jemand noch ne Idee dazu?
 
... ok, dann poste bitte einige Codeausschnitte (insbesondere aus dem Frameset) oder gib einen Link zu der Seite an.
Ich könnte mir vorstellen, dass der Fehler in der Benennung/Indizierung der Frames liegt.

Gruß
 
Okay, danke für die Hilfe!

Also, hier der gesamte Code des Framesets:

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<frameset rows="*" cols="*,844" framespacing="0" frameborder="NO" border="0">
  <frame src="chooser.php" name="mainFrame">
  <frame src="showcontent.php" name="rightFrame" scrolling="NO" noresize>
</frameset>
<noframes><body>

</body></noframes>
</html>

Hier der Code des Auswahlframes mit den Drowdown Menüs:
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title></title>

<style type="text/css">
<!--
body { background-color:#363636; color:#000000; }
-->
</style>


<script type="text/javascript">
<!--

var first, second, entry;


function intro() {

 first = document.form.list1.length;
 second = document.form.list2; 


 entry = new Array(first);
 for (var i = 0; i < first; i++) {
  entry[i] = new Array(); // mehrdimensionales Array
 }

 entry[0][0] = ["", "Treffen 1"];
 entry[0][1] = ["", "Treffen 2"];
 entry[0][2] = ["", "Treffen 3"];
 entry[0][3] = ["", "Treffen 4"];

 entry[1][0] = ["", "Treffen 5"];
 entry[1][1] = ["", "Treffen 6"];
 entry[1][2] = ["", "Treffen 7"];
 entry[1][3] = ["", "Treffen 8"];
 entry[1][4] = ["", "Treffen 9"];
 
 entry[2][0] = ["", ""];
 entry[2][1] = ["", ""];
 entry[2][2] = ["", ""];
 entry[2][3] = ["", ""];
 entry[2][4] = ["", "P"];

 entry[3][0] = ["", ""];
 entry[3][1] = ["", ""];
 entry[3][2] = ["", ""];
 entry[3][3] = ["", ""];
 entry[3][4] = ["", ""];
}


function setOptions(sel) {

 second.length = 0; // Aktuelle second-options loeschen

 for(var i = 0; i < entry[sel].length; i++) { // second-Liste neu aufbauen
  second[i] = new Option(entry[sel][i][1], entry[sel][i][0]);
 }
 second[0].selected = true; // Ersten Eintrag selektieren
}


function load() {

location.href = second.options[second.selectedIndex].value;
}
//-->
</script>

</head>

<body bgcolor="363636" onload="intro()">
<h4 align="left"><br>
  <img src="../../Sitepics/shows.jpg" width="104" height="34"></h4>
<form name="form" action="">

  <table align="left">
    <tr> 
      <td width="152"><font color="#CCCCCC" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Jahr</strong></font><br> <select name="list1" size="1" onchange="setOptions(this.options.selectedIndex)" width="140" style="width:140px;">
          <option>2003</option>
          <option>2004</option>
        </select>
        <br>
        <br>
        <strong><font color="#CCCCCC" size="2" face="Verdana, Arial, Helvetica, sans-serif">Treffen</font></strong><br> <select name="list2" size="1" width="140" style="width:140px;">
          <option value="">Treffen auswählen...</option>
        </select>
        <br>
        <br>
        <input type="button" value="Anzeigen" onclick="load()"> </td>
    </tr>
  </table>
</form>

</body>
</html>

Und hier noch der rechte Frame, in dem sich der Link dann öffnen soll:
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="363636">
<font color="#CCCCCC" size="2" face="Verdana, Arial, Helvetica, sans-serif">einf&uuml;hrender Text mit 
ein, zwei Bildern... </font>
</body>
</html>

Ich habe jetzt deinen Vorschlag nochmal rausgenommen, weil ich glaube ich habe es an der falschen Stelle eingebaut.

Vielleicht kannst du mir zeigen, wo ich das einbauen muss.

Übrigens:
Wenn ich aus dem Navigationsframe (der mit den Dropdown Menüs), die Menüs rausmache (und das Script dazu) und einen normalen Textlink mit Ziel _mainFrame einbaue, funktioniert es!

Es muss doch dann an dem Script zu den Menüs liegen, oder?

Danke nochmal für deine Hilfe!
 
Hi,

der Frame, in dem Du die neue Seite öffnen möchtest, nennt sich "rightFrame". Diesen Namen musst Du auch beim Öffnen angeben:
PHP:
top.rightFrame.location = "whatever.htm";

gruß
 

Neue Beiträge

Zurück