Aloha ;)
<form oninput="x.value=parseInt(a.value)"> Lautstärke: <input type="range" id="a" value="50"> <output name="x" for="a">50</output> </form>
Weil die Variablen a und x offensichtlich nicht bekannt sind. Das Beispiel ist javascriptseitig schlecht. Es muss verbessert werden.
Jein. Das Beispiel nutzt zwei Dinge aus, die normalerweise gegeben sind - nur offenbar im IE nicht.
Normalerweise (z.B. in Chrome) passieren zwei Dinge:
- Elemente[1] mit einer ID werden im globalen
window
-Objekt als Eigenschaft registriert. - Formularelemente[1:1] mit NAME und/oder ID werden im Formular sowohl unter ihrem NAME als auch unter ihrer ID als Eigenschaft registriert.
Es geht ja hier um die Zeile x.value=parseInt(a.value)
. Die funktioniert auch, falls eben diese Dinge passiert sind - denn da der „Ausführungskontext“ des Event-Handlers (this
) das Formular sind eben auch dessen Eigenschaft a
(das Formularelement mit ID) und x
(das Formularelement mit NAME) ohne weitere Angabe referenzierbar. a
wäre sogar außerhalb des Formularkontexts verfügbar, da es wegen der ID ja global registriert wird.
Ich hoffe das war jetzt verständlich ausgedrückt.
Ein kurzer Test mit der IE-Konsole sagt, dass im IE im Formular zwar a
registriert wird, x
allerdings nicht (document.querySelector("form").a
liefert ein Ergebnis, document.querySelector("form").x
nicht). Abgesehen davon wird a
auch nicht als globale Variable registriert.
Was ich noch herausfinden muss, ist, welche der beiden Aktionen nun eigentlich standardkonform ist (und damit, wer hier eigentlich was falschmacht - der Javascript-Code oder der IE).
Grüße,
RIDER
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
# Twitter # Steam # YouTube # Self-Wiki # Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[