Moin,
Da dies mein erster Thread ist, bitte ich euch, mir alle meine (Newbie-)Fehler zu verzeihen ;-)
kein Problem, die meisten typischen Newbie-Fehler machst du nämlich gar nicht: Du lieferst eine gute Beschreibung ab, verwechselst nicht Java mit Javascript, und hast auch die Grundlage deines Scripts offensichtlich nicht aus irgendeiner Mottenkiste im Internet (was man oft an total veraltetem Code erkennt).
<script type="text/javascript">
function schliessen2() {
this.document.getElementById("window_2").style.visibility = "hidden";
}
</script>
Zum grundsätzlichen Vorgehen hat der Wichtel schon den entscheidenden Hinweis gegeben, ich möchte das nur ergänzen.
Wenn kein Element mit der gewünschten ID im Dokument existiert, liefert getElementById() AFAIK null zurück (oder war's undefined?), so dass der Zugriff auf ...style.visibility eine Fehlermeldung produziert: "Object has no properties" oder so ähnlich. Den Fall sollte man daher abfangen:
if (document.getElementById(window_id))
document.getElementById(window_id).style.visibility = "hidden";
Durch die if-Abfrage wird die Zuweisung nur ausgeführt, wenn der Ausdruck mit dem getElementById() eine gültige Referenz ergibt. Übrigens ist der Gebrauch von "this" hier unnötig.
<a href="#" onclick="schliessen2()">Schliess mich</a>
Das ist nicht schön: Von einem Link erwarte ich normalerweise, dass er mich auf eine neue Seite führt. Um "nur" eine Funktion innerhalb der Seite auszulösen, solltest du besser ein anderes Element verwenden, etwa ein button-Element. Den onclick-Handler kannst du nahezu jedem Element ankleben, das an dieser Stelle vom Kontext her sinnvoll wäre.
So long,
Martin
Kleine Geschenke erhalten die Freundschaft.
Große verderben sie aber meist auch nicht.