Path: csiph.com!weretis.net!feeder7.news.weretis.net!news.mb-net.net!open-news-network.org!.POSTED.224.233.197.178.dynamic.wless.lssmb00p-cgnat.res.cust.swisscom.ch!not-for-mail From: Thomas 'PointedEars' Lahn Newsgroups: de.comp.lang.javascript Subject: Interaktives Formular (was: Javascript oder HTML?) Date: Sat, 19 Oct 2019 14:23:15 +0200 Organization: PointedEars Software (PES) Lines: 85 Message-ID: <2690385.e9J7NaK4W3@PointedEars.de> References: Reply-To: Thomas 'PointedEars' Lahn Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8Bit Injection-Info: gwaiyur.mb-net.net; posting-host="224.233.197.178.dynamic.wless.lssmb00p-cgnat.res.cust.swisscom.ch:178.197.233.224"; logging-data="18942"; mail-complaints-to="abuse@open-news-network.org" User-Agent: KNode/4.14.10 Cancel-Lock: sha1:aOumpEcazR/BwapbTcvh6TU8iT4= X-Face: %i>XG-yXR'\"2P/C_aO%~;2o~?g0pPKmbOw^=NT`tprDEf++D.m7"}HW6.#=U:?2GGctkL,f89@H46O$ASoW&?s}.k+&. 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 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: | | Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.