Ich habe ein Problem, das ich nicht lösen kann (keine grosse Erfahrung
in JavaScript). Ich habe einer Tabelle mit der ID = myTableID. In
head-Abschnitt meiner HTML-Seite habe ich zuerst folgendes geschrieben:
<script language="JavaScript" type="text/javascript">
<!--
document.onload = function foo()
{
.......
var table = document.getElementById("myTableID");
......
}
//-->
</script>
Die Variable table ist nicht null und die Funktion foo funktionierte
wunderbar. Dann habe ich die Funktion foo mit einem Parameter versehen,
der an getElementById übergeben wird, und in eine js-Datei
ausgelagert. Der Aufruf sieht dann folgendermaßen aus:
<script language="JavaScript" type="text/javascript">
<!--
document.onload = foo("myTableID");
//-->
</script>
Ich bekomme nun einen Fehler, da die Variable table null ist ! D.h. es
wird keine Tabelle gefunden, weil die Seite vermutlich noch nicht
komplett geladen wurde. Hat jemand vielleicht eine Idee, wie ich doch
die Funktion fehlerfrei auslagern kann ?
Ich danke im voraus.
Du rufst hier die Funktion unmittelbar auf und möchtest den Rückgabewert
der Funktion als Referenz auf den onload Handler hinterlassen. Das geht
nicht.
Du brauchst eine Funktionsreferenz, der onload Handler gehört zum
Fenster nicht zum Dokument (auch wenn der inline Aufruf anderes
suggeriert).
<script type="text/javascript">
window.onload = function()
{
foo("myTableID");
};
</script>
Struppi.
Tausend Dank ! Es hat geklappt.