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). Unterdocument.Eingabe
auch nicht.document.Test.Eingabe
ist was anderes, das funktioniert, und das ist auch zu erwarten.Aber einfach nur
Eingabe
⁉️
Naja. Der Typ mit dem Arbeitskittel (es gibt davon viele in jedem Computer), der die Aufgaben des Programmierers oder Bedieners bekanntlich erledigt, wuselt gerade im Formular und direkt neben ihm glänzt der Input mit dem Name „Eingabe“. Das dessen Value gemeint ist wird wohl mangels einer anderen Bestimmung als Default angenommen.
Wir haben also:
document.forms[#n]. elements['Eingabe'] .value
oder:
Kontext . Adresse . Vermutung
Ich würde das (schon wegen der Verschiebbarkeit, also Wiederverwendungsfähigkeit und Verständlichkeit des Codes) weder so machen noch so vorsehen - aber wenn man an etwas wie „relative Pfade“ denkt, ist es logisch. Denn ohne solche relativen Angaben müsste man eigentlich stets vom Browser über das Fenster und Dokument, Formular zum Inputfeld (oder via ID, was hinsichtlich der Erfordernis einer eineindeutigen Vergabe eigene Probleme aufwerfen kann) adressieren.
Sagen wir, es dient der Zugänglichkeit. Was dem einem „das Hirn wegknallt“ macht es anderen einfach. Aber nur bis es ihm oder ihr „das Hirn wegknallt“