F. W. wrote:
^^^^^
Bitte trag an dieser Stelle Deinen vollständigen/richtigen Namen ein.
Das gilt hier im deutschsprachigen Usenet als höflich und erhöht somit
die Chance für sinnvolle Antworten. [psf 7.16]
> ich möchte gern ein interaktives Formular entwerfen, dessen nächstes
> Feld in Abhängigkeit von einer Antwort des aktuellen Feldes sichtbar
> oder unsichtbar bleibt.
>
> Also wenn man beispielsweise
>
> Getränk: KAFFEE
>
> wählt, soll ein Feld
>
> [ ] Milch
> [ ] Zucker
>
> gefragt werden. Wählt man dagegen
>
> Getränk: SAFT
>
> macht die Frage nach Milch und Zucker keinen Sinn und die Frage
> erscheint gar nicht erst.
Grundsätzlich solltest Du für diese Logik eine Kombination aus Radiobuttons
und Checkboxen verwenden:
(_) Kaffee
[_] Milch
[_] Zucker
(_) Saft
(Ausser Kaffee und Saft können gleichzeitig bestellt werden, dann solltest
Du nur Checkboxen verwenden.)
Du solltest aber gut überlegen, ob es nötig und sinnvoll ist, die Optionen
für den Kaffee auszublenden, wenn Kaffee nicht gewählt wurde. Es ist
normalerweise besser, dem Benutzer alle Optionen zu zeigen, diese aber nur
unter passenden Umständen auswählbar zu machen.
„Milch“ und „Zucker“ erst dann einzublenden, wenn man „Kaffee“ wählt, führt
dazu, dass das Formular dann „springt“ und „Saft“ sich anschliessend nicht
mehr an derselben Position befindet wie vorher. Das kann Benutzer
verwirren.
Ausserdem können bei ausgeblendeten Unteroptionen Benutzer/Kunden nicht
wissen, dass sie Kaffee mit Milch und/oder Zucker wählen können, und werden
sich dann vielleicht nur *deshalb* dafür entscheiden, *nicht* Kaffee zu
wählen.
Es gilt also, eine gute Balance zwischen zuwenig und zuviel Details in der
Darstellung zu finden.
Siehe auch <
https://www.nngroup.com/articles/accordions-complex-content/>
ff.
> Nutze ich besser Javascript oder reicht HTML?
Es gibt kein „Javascript“, siehe rechts oben in meiner Signatur.
Clientseitiges Scripting wird für diese Funktionalität nicht zwingend
benötigt; aber ob es trotzdem nötig ist, hängt davon ab, welche
Laufzeitumgebungen Du clientseitig unterstützen willst und welche Dir
serverseitig zur Verfügung stehen (falls überhaupt).
Mit CSS-Selektoren lässt sich das Gewünschte auch ohne clientseitiges
Scripting erreichen, aber die clientseitige Laufzeitumgebung muss diese
unterstützen. Ohne CSS-Selektoren lässt sich das Gewünschte *auch* ohne
clientseitiges Scripting erreichen, aber es muss eine serverseitige
Laufzeitumgebung geben, die die entsprechende Funktionalität bereitstellt.
(In der Regel wählt man heutzutage den clientseitigen Ansatz, um Wartezeiten
und Serverlast zu reduzieren.)
Ausserdem bauen in Web-Applikationen sowohl clientseitiges (in der Regel
ECMAScript-basiertes) Scripting als auch Stylesheets (in der Regel CSS) auf
einer Auszeichnungssprache wie HTML auf; das ist also keine *Entweder*-Oder-
Frage.
--
PointedEars
FAQ: <
http://PointedEars.de/faq> | <
http://PointedEars.de/es-matrix>
<
https://github.com/PointedEars> | <
http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.