Hallo,
function showSolutions() {
document.getElementById("showSolutionsBtn").value = "Lösungen verstecken";
document.getElementById("showSolutionsBtn").onClick = "hideSolutions()";
}
dadurch, dass du die Klammern angibst und so die Parameterliste der Funktion andeutest, rufst du die Funktion hideSolutions() an dieser Stelle auf und weist ihren Rückgabewert der Eigenschaft onClick zu. Da diese Eigenschaft vorher nicht existiert, wird sie neu erzeugt - aber einen Zweck bzw. eine Verwendung hat sie ja nicht. Im Gegensatz z.B. zur onclick-Eigenschaft, die eine Referenz auf die Funktion enthält, die beim Klicken aufgerufen werden soll.
document.getElementById("showSolutionsBtn").onClick = "showSolutions()";
Dito.
Wenn ich richtig vermute, was du wirklich willst, enthält diese Zeile, wie auch die obige, zwei Fehler. Erstens ist die onclick-Eigenschaft falsch geschrieben, zweitens willst du nicht das Funktionsergebnis, sondern quasi die Funktion selbst zuweisen.
Im HTML-Code steht dann dies:
<input type="button" value="Lösungen anzeigen" onClick="showSolutions()" id="showSolutionsBtn">
Auch hier ist das onclick-Attribut falsch geschrieben - aber wenn es "nur" HTML ist, spielt das keine Rolle. In XHTML wäre das ein klarer Fehler.
So long,
Martin
Einer aktuellen Erhebung zufolge sind zehn von neun Ehefrauen eifersüchtig auf ihren Mann.