Servus!
heute wollte ich etwas über Eingabefelder mit Range (
input[type=range]
) wissen. Dort gibt es ein Beispiel mit einem Schieberegler, neben dem man live den aktuell eingestellten Wert ablesen kann. Das erfordert sowohl dasoutput
-Element, als auch JavaScript.
Das output-Element ist m.E neben dem canvas-Element eines der wenigen HTML-Elemente, die JavaScript benötigen, bzw. ohne JavaScript eben keinen output bekommen. (Ausnahme ist diese Fortschrittsanzeige mit css-animation)
Lässt man den Eventhandler im
oninput
-Attribut desform
-Elements weg, sieht man keine unmittelbaren Änderungen mehr im Beispiel, da der Inhalt desoutput
-Elements nicht mehr aktualisiert wird.
Das Bsp. habe ich 2014 so gewählt, damit man sieht, wie sich output dynamisch verändert. Dabei wollte ich, da es ja um den HTML-Bereich geht möglichst wenig JS verwenden. (Ich seh grad, dass die MDN ein ähnliches Bsp. verwendet, habe meins iirc aber aus css-tricks)
Mir stellen sich da zwei Fragen, die ich nicht ohne Klärung hier im Forum eigenmächtig im Wiki einpflegen will:
- Sollte man das
output
-Element nicht per JavaScript ins Dokument schreiben (inklusive Eventhandler), da es ohne JavaScript nicht mehr die gewünschte Funktionalität bietet (außer der Anzeige des initialen Werts natürlich)?
Ja, wäre wohl besser, aber ich würde das Bsp. im Wiki so kurz lassen.
Unter ==Siehe auch== ist (jetzt) ein weiteres Bsp. verlinkt.
Ich habe die Seite mal aufgeräumt und einen Hinweis geschrieben.
- Dass man einfach
window.ID_eines_Elements
notieren kann, war ursprünglich einmal eine Eigenheit des Internet-Explorers, die anscheinend mittlerweile in allen Browsern verlässlich anzutreffen ist (ich habe das nicht geprüft und stelle implizit die Frage hierzu in den Raum). Kann und sollte man das heute einfach voraussetzen, oder gehörte in das Beispiel wenigstens noch der Hinweis, dass man mitdocument.getElementById()
das fraglicheinput
-Element zwar inzwischen umständlicher, aber ebenso zuverlässig ansprechen könnte? Und wenn man dann schon bei Hinweisen ist, sollte man dann die Problematik meines ersten Punktes (output
per JS ins Dokument schreiben und Eventhandler dynamisch eintragen) nicht auch gleich mit aufnehmen?
Nicht im HTML-Bereich, oder?
Oder gibt es mittlerweile einen Paradigmenwechsel im Wiki, der die Nichtverfügbarkeit von JS als seltene Ausnahme mit silent fail als Folge bedingt?
Da hat sich m.E. noch keiner Gedanken gemacht. Habe aber mal einen Artikel (Link finde ich nicht) gelesen, dass in Zeiten, wo Leute selbst in Afrika Smartphones mit Android besitzen, Benutzerfreundlichkeit und Zugänglichkeit nicht mehr „muss ohne JavaScript funktionieren“ sondern „muss seine Funktionalität auch bei schlechter Bandbreite und offline behalten“ bedeuten sollte.
Herzliche Grüße
Matthias Scharwies
Es gibt viel zu tun: ToDo-Liste