Struppi: Funktionsaufruf via Link

Beitrag lesen

<html>
<head>

<script type="text/javascript">

index = new Array ();

das ist kein Array, das ist ein Object!

var index = new Object ();

index["home"] = new Array("Enzyclopaedien", "Editorial");
index["Enzyclopaedien"] = new Array("ECO","OCB");
index["ECO"] = new Array("A", "B", "C", "D", "E");
index["Editorial"] = new Array();

var linkI   = "<a href="javascript:seti('";
  var linkII  = "')">";
  var linkIII = "</a></br>";

Du willst eine JS Funktion aufrufen, dann brauchst du auch keinen Link, nimm irgendein passendes Element und setzt den onclick Event.

...

{ document.write(i+'</br><ul>');
  { for (j in index[i])

Einmal würde ich immer ein var benutzen um die Variabeln lokal zu machen. Globale Schleifenvariabeln können tödlich sein, das sind typische Fehler die man nur schwer findet. Ausserdem ist index[i] ein Array, da ist es besser eine for() Schleife zu verwenden.

Dein Problem ist aber eher, dass du mit document.write() das Dokument komplett neu schreibst und dann die Funktion seti() nicht mehr da ist, dass ist zumindest die Fehlermledung die ich erhalte.

Struppi.

--
Javascript ist toll (Perl auch!)