Newsgroup: it.comp.lang.javascript
Titolo: [OT] menu in dhtml...

scusatemi se sono OT, ma qui mi sembrate molto compententi..
sono un novellino in DHTML.. ho trovato in rete un listato per fare un menu
gerarchico sulla mia pagina formata da 3 frame: quello superiore, col
titolo, quello laterale sinistro, col menu e quello centrale che è la pagina
centrale vera e propria.
Non riesco a capire come si fa a far si che premendo un collegamento nel
menu fatto in dhtml, la pagina si apra, anzichè in una nuova, nella pagina
centrale. Il listato è il seguente:
<html>
<head>
<title>Menu laterale Elettronica</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<BODY onload="pw.init()">
<font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000">
<Script Language="JavaScript">
   function myArray(size)
   {
      for (var i = 0; i < size; i++)
  this[i] = 0;
      this.length = size;
      return this;
   }
   function group(text, name, type, parent)
   {
      this.text = text;
 
this.name
 = name;
      this.type = type;
      this.parent = parent;
      this.numSubs = 0;
      this.htmlString = "";
      this.subs = new myArray(10);
      this.subsVisible = 0;
      this.level = 0;
      this.init = init;
      this.addSub = addSub;
      this.showSubs = showSubs;
      this.hideSubs = hideSubs;
      return this;
   }
   function link(text, name, dest, parent)
   {
      this.text = text;
 
this.name
 = name;
      this.dest = dest;
      this.parent = parent;
      this.numSubs = 0;
      this.htmlString = "";
      this.level = 0;
      this.init = linkInit;
      return this;
   }
   function init()
   {
      this.htmlString = "<DIV id=" + 
this.name
;
      if (this.type == "sub")
      {
  this.level = eval(this.parent + ".level") + 1;
  this.htmlString += " style='display:none; display:none; text-indent:";
  this.htmlString += this.level * 20 + "'";
      }
      if ( ( this.type == "sub" ) || ( this.type == "main" ) )
      {
  this.htmlString += " onclick='eval(";
  this.htmlString += 
this.name
 + ".showSubs())'";
      }
      this.htmlString += ">" + "<Img src='freccia.gif' border=0>";
      this.htmlString += this.text + "</DIV>";
      document.all(this.parent).innerHTML += this.htmlString;
      if (this.numSubs > 0)
  for (var i = 0; i < this.numSubs; i++)
     this.subs[i].init();
   }
   function linkInit()
   {
      this.htmlString = "<DIV id=" + 
this.name
;
      this.level = eval(this.parent + ".level") + 1;
      this.htmlString += " style='display:none; text-indent:";
      this.htmlString += this.level * 20 + "'>";
      this.htmlString += "<a href='" + this.dest + "'";
      this.htmlString += ">" + "<Img src='ok.gif' border=0>";
      this.htmlString += this.text + "</a></DIV>";
      document.all(this.parent).innerHTML += this.htmlString;
   }
   function addSub(sub)
   {
      this.subs[this.numSubs] = sub;
      this.numSubs++;
   }
   function showSubs()
   {
      for (var i = 0; i < this.numSubs; i++)
      {
  if (!this.subsVisible)
            document.all(this.subs[i].name).style.display = "";
  else
     this.hideSubs(i);
      }
      this.subsVisible = 1 - this.subsVisible;
      window.event.cancelBubble = true;
   }
   function hideSubs(num)
   {
      document.all(this.subs[num].name).style.display = "none";
      for (var i = 0; i < this.subs[num].numSubs; i++)
      {
  if (this.subs[num].numSubs > 0)
     this.subs[num].hideSubs(i);
      }
   }
   var pw = new group("Smartgatto", "pw", "main", "theMapDiv");
   var sub1 = new group("Elettronica", "sub1", "sub", "pw");
   var link1 = new link("Codici resistenze", "link1",
"
http://www.smart.htm
", "sub1");
   var link2 = new link("Codici condensatori", "link2",
"
http://www.okkei.net/dhtml.htm
", "sub1");
   var link3 = new link("Circuiti", "link3",
"
http://www.okkei.net/dhtml.htm
", "sub1");
   pw.addSub(sub1);
   sub1.addSub(link1);
   sub1.addSub(link2);
   sub1.addSub(link3);
</Script>
<Style type="text/css">
   A { color:black; text-decoration:none }
   A:hover { color:blue; text-decoration:none }
</Style>
</font>
<DIV id="theMapDiv"> </DIV>
</body>
</html>

 this.htmlString+= "<a href='"+this.dest+"' target='NomeFrameCentrale'";
ciao.. grazie per la risposta.. sinceramente non funziona... facendo cosě
come hai detto, il link continua ad aprirsi in tutta una nuova finestra, non
nel frame centrale.. se puoi dare un'occhiata (se hai tempo) ho messo tutto
on-line (č solo una prova).
Il sito č 
www.smartgatto.da.ru
grazie!

risolto!  :-)
ho messo la linea "this.htmlString+= "<a href='"+this.dest+"'
target=mainFrame";"
grazie!