Hallo alle,
beim Nachbearbeiten der Wikiänderungen von heha bin ich auf ein Kuriosum gestoßen. Zumindest für mich war es eins.
<h1>Beispiel: math.cbrt (Kubikwurzel)</h1>
<main>
<p>Bitte geben Sie eine Zahl ein und drücken Sie auf den Button.</p>
<form name="Test">
<input type="text" value="9" name="Eingabe">
<input type="button" value="=" onclick="Berechnen(Eingabe)"> </form>
<p id="Ausgabe"></p>
</main>
onclick="Berechnen(Eingabe)"
WTF? Eingabe ist keine id, sondern ein Name. Es ist damit nicht unter window.Eingabe
zu finden (zur Kontrolle ausprobiert). Unter document.Eingabe
auch nicht. document.Test.Eingabe
ist was anderes, das funktioniert, und das ist auch zu erwarten.
Aber einfach nur Eingabe
⁉️ Und das funktioniert auch noch⁉️⁉️ Was ist denn das für ein Sonderscope beim Verarbeiten von on-Handlern⁉️⁉️‼️
Ist die Scope-Chain, die hier unter Punkt 9 aufgebaut wird, des Rätsels Lösung?
Ich weiß, wir empfehlen im Wiki, addEventListener zu verwenden. Da ist das kein Thema. Aber muss man solche Geheimnisse nicht auch irgendwo dokumentieren? Und sei es nur, um vor solchen Scope-Verwirrungen zu warnen? Das ist ja eine ganze Horde von impliziten with-Anweisungen (brrrrr), die dahinter lauert.
Das Beispiel bau ich erstmal um!
Rolf
sumpsi - posui - obstruxi