Daniel Thoma: Quell-Codes zu "Script-Ausführung verhindern?"

Beitrag lesen

Hallo Tina,

Dein Fehler, ist der Einsatz von dokument.write(). Das, was mit der Funktion ausgegeben wird, erscheint immer annstatt des Scriptblockes, von dem aus sie letztendlich aufgerufen wurde.
Die Funktion ist nur dazu geeignet, dynamisch HTML-Code beim Aufbau einer Seite zu generieren, nicht aber dazu, sie später wieder zu ändern.

Ändere dein Script wie folgt ab:

<head>
<script type="text/javascript">

// verschiedene Var-Deklarationen, unter anderem:
var dyntable = "";
var wahl;

function BuildTable(wahl) {
 var n = wahlnumbers.length;
 for (i=0; i<n; i++) {
 // Tabelle zusammenbauen
 // hab ich hier nicht zitiert, weil das Stück einwandfrei
 // funktioniert. Ich generiere HTML-Code, der in "dyntable"
 // gespeichert wird.
 };
 document.getElementById('test').innerHTML = dyntable;
};

</script>
</head>

<body onload="BuildTable(0)">
<a name="top"></a>

<div id="test">

</div>

</body>

In den Links solltest du BuildTable etwa so aufrufen:
<a href="#" onclick="BuildTable(1);return false">ändern</a>

Was es mit getElementById und innerHTML auf sich hat, ließt Du am besten noch in Selfhtml nach.

Grüße

Daniel