expertenaustausch > comp.lang.* > comp.lang.javascript

F. W. (17.10.2019, 10:49)
Hallo,

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.

Nutze ich besser Javascript oder reicht HTML?

FW
Thomas 'PointedEars' Lahn (19.10.2019, 14:23)
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]

[..]
> 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.
Arno Welzel (20.10.2019, 17:00)
F. W.:

[..]
> macht die Frage nach Milch und Zucker keinen Sinn und die Frage
> erscheint gar nicht erst.
> Nutze ich besser Javascript oder reicht HTML?


Das kommt darauf an, *wie* Du obiges erreichen willst. Wenn sich die
Frage nach Milch & Zucker sofort ändern soll, sobald ein anderes Getränk
ausgewählt wird, geht es nicht ohne clientseitiges Script.
F. W. (21.10.2019, 14:01)
On 19.10.19 14:23, Thomas 'PointedEars' Lahn wrote:

> ?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.


"Saft" und "Kaffee" sind natürlich nicht die wirklichen Auswahlpunkte
des Projekts. Es sind nur Beispiele.

>> Nutze ich besser Javascript oder reicht HTML?

> Es gibt kein ?Javascript?, siehe rechts oben in meiner Signatur.


Okay, die Newsgroup heißt so. Deshalb bin ich hier.

> 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).


Jeder handelsübliche Browser: Chrome, Firefox, Opera, Safari und
meinethalben auch Internet Explorer usw.

> 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.


Hmmm...wie sähe so etwas denn aus? Muss man nicht Attribute oder
Selektoren ändern?

FW
Maik Koenig (21.10.2019, 15:23)
Am 19.10.2019 um 14:23 schrieb Thomas 'PointedEars' Lahn:
> 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]


Das Du auf Adressfälscher antwortest wusste ich bisher auch nicht.

Greetz,
MK
Thomas 'PointedEars' Lahn (22.10.2019, 11:26)
Maik Koenig wrote:

> Am 19.10.2019 um 14:23 schrieb Thomas 'PointedEars' Lahn:
> Das Du auf Adressfälscher antwortest wusste ich bisher auch nicht.


Danke für den Hinweis. Der Wert des From-Headerfelds war syntaktisch
korrekt und die Second-Level-Domain noch nicht in der Blacklist.
Thomas 'PointedEars' Lahn (22.10.2019, 11:28)
Der pseudonyme Adressfälscher "F. W." schrieb:

> [irgendwas]


Weitere Hilfe von mir gibt es nur, wenn Du Dich an die grundlegenden Regeln
im Usenet hältst.

<http://einklich.net/usenet/usenet1> ff.
F. W. (23.10.2019, 09:04)
On 22.10.19 11:28, Thomas 'PointedEars' Lahn wrote:

> Der pseudonyme Adressfälscher "F. W." schrieb:


Huh! Eine justiziable Beleidigung mit ladungsfähiger Adresse gleich am
Anfang? Ganz schön mutig...

>> [irgendwas]

> Weitere Hilfe von mir gibt es nur, wenn Du Dich an die grundlegenden
> Regeln im Usenet hältst.


Regeln? Wer macht hier Regeln? Bin ich etwa im deutschen Usenet? "Lerne
klagen ohne zu leiden..." :-D

Vielen Dank trotzdem. Javascript/ECMA-Script hat sich inzwischen hier
überholt. Wir haben etwas anderes gefunden.

FW
Claus Reibenstein (23.10.2019, 11:48)
F. W. schrieb am 23.10.2019 um 09:04:

> On 22.10.19 11:28, Thomas 'PointedEars' Lahn wrote:
>> Der pseudonyme Adressfälscher "F. W." schrieb:

> Huh! Eine justiziable Beleidigung mit ladungsfähiger Adresse gleich am
> Anfang? Ganz schön mutig...


Bitte nenne uns das Aktenzeichen und informiere uns über den Fortschritt
des Verfahrens.

>> Weitere Hilfe von mir gibt es nur, wenn Du Dich an die grundlegenden
>> Regeln im Usenet hältst.

> Regeln? Wer macht hier Regeln? Bin ich etwa im deutschen Usenet?


Du bist im deutschsprachigen Teil des Usenet, und ja, es gibt Regeln.
Bedauerlich, dass Dir diese nicht bekannt sind.

Was mich wundert, ist, dass mein Realnamenplausibilitätsfilter Dich
nicht sachgerecht entsorgt hat. Muss ich wohl mal überarbeiten.

Gruß
Claus
Thomas 'PointedEars' Lahn (23.10.2019, 19:03)
Claus Reibenstein wrote:

> F. W. schrieb am 23.10.2019 um 09:04:
> Bitte nenne uns das Aktenzeichen und informiere uns über den Fortschritt
> des Verfahrens.


YMMD :)

(Dass ich *das* noch erleben darf! [dsf 4.25])
Arno Welzel (27.10.2019, 13:41)
Claus Reibenstein:

[...]
> Was mich wundert, ist, dass mein Realnamenplausibilitätsfilter Dich
> nicht sachgerecht entsorgt hat. Muss ich wohl mal überarbeiten.


Was mich wundert, dass auf Leute reagierst, die Du nicht lesen willst.

Übrigens bewahren auch Realnamen nicht vor unsinnigen oder überflüssigen
Postings.
Robin Koch (31.10.2019, 15:57)
Am 20.10.2019 um 17:00 schrieb Arno Welzel:
> F. W.:
> Das kommt darauf an, *wie* Du obiges erreichen willst. Wenn sich die
> Frage nach Milch & Zucker sofort ändern soll, sobald ein anderes Getränk
> ausgewählt wird, geht es nicht ohne clientseitiges Script.


Das würde ich so nicht sagen.

Wenn man die Elemente schachtelt und CSS-Pseudoklassen-Selektoren wie
:selected nutzt, kann man untergeordnete Elemente z.B. abhängig vom
Status eines übergeordneten Elements ausblenden.

Statt zu schachteln müsste man auch Vorgänger-Relatioen nutzen können.
Thomas 'PointedEars' Lahn (02.11.2019, 03:49)
Robin Koch wrote:

> Am 20.10.2019 um 17:00 schrieb Arno Welzel:
> Das würde ich so nicht sagen.
> Wenn man die Elemente schachtelt und CSS-Pseudoklassen-Selektoren wie
> :selected nutzt, kann man untergeordnete Elemente z.B. abhängig vom
> Status eines übergeordneten Elements ausblenden.
> Statt zu schachteln müsste man auch Vorgänger-Relatioen nutzen können.


Ja, das kann man. Man muss aber sicherstellen, dass diese Selektoren auch
unterstützt werden.
Ähnliche Themen