Moin,
ich absoluter anfänger, was javascript u.ä. angeht.
das waren wir alle mal. :-)
folgendes habe ich versucht:
html-datei:<body>
<table> ...<script type="text/javascript" src="script.js">
window.onload = function(){
gibtags(20);}
</script>
Dieses Konstrukt ist so falsch. *Entweder* du notierst den JS-Code direkt im Dokument zwischen <script> und </script>, *oder* in einer externen Datei, die du mit dem src-Attribut einbindest. Aber nicht beides zusammen.
Fasse beide Teile deines Scripts zu einem zusammen, oder mach zwei <script>-Blöcke im Quelltext, einen direkt mit JS-Code, einen mit dem src-Verweis auf die separate Datei.
javascript datei (script.js):
function gibtags(anzahl){
for (var i=1;i<=anzahl;i++){
document.write('<td> Zeile1 Zelle');
document.write(i)
} //for
} //fn gibtags
Diese Funktion gibt nichts zurück, sondern schreibt Daten direkt ins Dokument. Dein Problem ist, dass du die Funktion erst aufrufst, nachdem das Dokument fertig geladen ist (onload). Wenn du *danach* nochmal document.write() aufrufst, wird das gesamte Dokument gelöscht und mit dem neu ausgegebenen Code überschrieben.
Um HTML-Code dynamisch mit JS zu erzeugen, hast du zwei Möglichkeiten.
Die einfache Methode ist document.write(), wie du es schon versucht hast - das darf aber nur passieren, *während* das Dokument geladen und interpretiert wird. Das Script muss also an der Stelle, wo der dynamisch erzeugte Inhalt entstehen soll, im Code stehen. Nachteil: Sobald das Dokument mal geladen ist, geht nichts mehr. Nachträgliches Verändern (Erweitern, Ergänzen) geht mit dieser Methode nicht.
Der anspruchsvollere, aber auch mächtigere Weg ist die Manipulation des Dokuments über die DOM-Methoden (Document Object Model), bei der du mit Javascript nicht den Quellcode erzeugst, sondern direkt auf die Elementstruktur, den Elementbaum zugreifst, wie sie vom Browser intern verarbeitet werden. Als Einstieg in Javascript würde ich dir das aber nicht empfehlen, sondern du solltest erst einmal mit einfacheren Aufgaben ein Gefühl für die Sprache und die Möglichkeiten (und Grenzen) bekommen.
So long,
Martin
Man gewöhnt sich an allem, sogar am Dativ.