Rolf B: JS - Variablen in HTML mehrfach belegen, mit einer Funktion auswerten

Beitrag lesen

Hallo Ammeres,

Zumindest kann ich mir nicht vorstellen, wie ich es nur in HTML schreiben können sollte,

Nein, das kannst Du auch nicht. Hm. VIELLEICHT schon, mit CSS Hacks, aber das wäre ein Krampf, wäre schlecht bedienbar (im Sinne von Zugänglichkeit) und entspricht auch nicht guter Praxis.

Eine JavaScript-freie Lösung braucht serverseitigen Code, d.h. nach jeder Änderung einer Auswahlstufe bräuchte es einen Submit-Button, der die Seite zum Server schickt und der schaltet die weiteren Fieldsets frei.

Wenn es für Dich okay ist, dass die Seite ohne JS gar nicht nutzbar ist, dann mach das so. Aber Du solltest deine User darüber informieren.

  • wenn dein JavaScript inline in der HTML Seite ist: Setze den Info-Paragraphen in ein <noscript> Element
  • wenn dein JavaScript in einer separaten JS Datei liegt: Sorge dafür, dass dein JavaScript den Info-Paragraphen als erste Amtshandlung auf "hidden" setzen. Bei einer lahmen Internetverbindung kann es sein, dass die Info einen Moment stehen bleibt, bis das Script anläuft und sie entfernt. Ist dann so.

Wozu so komplex, wenn es auch Checkboxen tun?

Mit Checkboxen kannst Du keine Gruppe von Radiobuttons abbilden. Diese beiden Bedienelemente haben unterschiedliche Bedeutung und sind nicht untereinander austauschbar.

W117

Das schrieb ja schon Dedlfix. Du hast 3 Code-Validatoren drin (Linter), und jeder hat eigene Vorschläge dazu, was Du besser machen könntest. Einer versucht Dir seine Ideen von Code-Style aufzudrücken (JSLint), und die beiden anderen (ESLint und JSHint) sind unpassend für deinen Zweck konfiguriert, sonst würden sie nicht über eine bekannte globale Variable meckern.

Lösung für ESLint

Lösung für JSHint - entweder trägst Du globale Variablen des Browsers in einer der möglichen Konfigurationsdateien ein, oder Du deklarierst sie inline mit /* globals document */

Du könntest aber überlegen, ob Du tatsächlich drei Linter brauchst; sicherlich kann man irgendwo einstellen, welche verwendet werden.

Rolf

--
sumpsi - posui - obstruxi