formfield select erzeugt leeres option-Element

  • Hallo zusammen,

    nach einem Update auf wE 9.2.2 erzeugen we:formfield vom type select immer ein leeres Option-Element über den schon bestehenden, von den Redakteuren eingegebenen Option-Elementen. Das leere Option-Element ist zudem noch disabled, so dass der FE-Nutzer seine Auswahl nicht wieder zurücksetzen kann. Das ist aus meiner Sicht nicht hilfreich. Kann jemand das Verhalten bestätigen und ist das ein Bug?

    Viele Grüße

    ludger müller
    gestaltung für bildschirm und papier aus münster in westfalen

    https://artbeit.de

  • Eigentlich ist das kein Bug.

    Es hatten sich einige beschwert, das in Formularen immer direkt ein Element ausgewählt ist (finde den FR/Bug dazu grad nicht). Also der Benutzer sich nicht aktiv entscheiden muß.

    Disabled könnte man im Falle das es nicht required ist rausnehmen - denn da soll ja etwas ausgewählt sein.

  • Danke Marc, Grundsätzlich finde ich das keine gute Idee, das in dieser Form vorzugeben. Es kann ja auch sein, dass in einem Formular eine Option (die erste) schon ausgewählt sein soll, oder die User die gewählte Option wieder abwählen können sollen.

    Zudem werden schon bestehende Formfields jetzt auch so verändert, dass sie u.U., wie in meinem Fall durch das disabled nicht mehr bedienbar sind. Die einfache Lösung ist doch vielmehr ein leeres Option als erstes Element in die Selects zu bauen.

    Wie kann ich denn verhindern, dass die leeren Options automatisch auf disabled stehen? Oder habe ich was übersehen?

    Viele Grüße

    ludger müller
    gestaltung für bildschirm und papier aus münster in westfalen

    https://artbeit.de

  • Hallo,

    in dem von Marc erwähnten Bugfix ging es um die Felder

    we:userInput type="select"

    we:sessionField type="select"

    Hier war das Problem, dass es keine Möglichkeit gab, ein "Bitte Auswählen" zu platzieren, das nun in den genannten we-Tags mittels Attribut "Placeholder=xy" möglich ist.

    Hierfür gab es auch einen guten Grund, und zwar, dass viele User über das Selectfeld mehr oder weniger gestolpert sind bzw. keine (notwendige) Auswahl getroffen haben und den Inhalt, so wie er ist, einfach übernommen haben, was in vielen Fällen letztlich zu einem nicht korrekten Datensatz führte.

    Was das i. d. F. für das Tag we:formfield bedeutete, kann ich nicht beurteilen, da ich das noch nie eingesetzt habe.

  • Danke Ulrich,

    ob die Tags miteinander zu tun haben, weiß ich nicht. Formfield - select funktionierte in 9.1.6 jedenfalls noch anders. Bei dem Tag konnten die Redakteure die Option-Elemente des Selects frei bestimmen. In 9.2.2 ist das erste Option-Element vorgegeben und leer und vor allem disabled. Ein Atrribut Placeholder gibt es scheinbar nicht. Wie man das disabled wegbekommt, ohne JS drüber laufen zu lassen, habe ich noch nicht herausgefunden.

    Viele Grüße

    ludger müller
    gestaltung für bildschirm und papier aus münster in westfalen

    https://artbeit.de

  • Ich habe Zeile 229 der Klasse des formfield-Tags jetzt mal so ergänzt:

    Code
    $tagContent = (isset($attribs['multiple']) || !isset($attribs['required'])

    Das funktioniert für mich erst mal, aber ist ja nicht nachhaltig.

    Aus meiner Sicht macht es nicht wirklich Sinn, das erste Option-Element fest als leer vorzugeben (man kann ja kein "Bitte wählen" vorgeben und auch noch zu disablen. Ich betreue meherere Sites mit Formularen mit formfield selects, von denen viele die Option brauchen, dass die User sie wieder auf "keine Auswahl" setzen können. Die wären so in 9.2.2 unbrauchbar und die verbessernden Javascripte müsste ich alle anpassen.

    Wie wäre es denn stattdessen mit einem Feature, durch das man value und Inhalt der Option-Elemente getrennt voneinander (z.B mit Komma getrennt) setzen kann. Dann kann ich auch ein leeres value lasse, was bei Browservalidierung mit required ja funktionieren würde.

    Viele Grüße

    ludger müller
    gestaltung für bildschirm und papier aus münster in westfalen

    https://artbeit.de

  • Hallo Fin,

    ich möchte kein neues Feature, das das vermeintliche Feature ausbügelt, sondern, dass das Tag einfach eine solche Ausgabe erzeugt, wie es sie in den vergangenen 15 Jahren erzeugt hat. Dass die Ausgabe ohne Ankündigung und ohne Möglichkeit die neue Funktion zu deaktivieren geändert wird, ist aus meiner Sicht schlecht.

    Oder übersehe ich was?

    Es gibt für mich sonst nur zwei Möglichkeiten: Entweder ich kann die Sites, die diese Funktion einsetzen, nicht upgraden, oder ich muss per JS die überflüssigen leeren und deaktivierten Option-Elemente löschen. Beides eigentlich keie Option.

    Beste Grüße

    Ludger

    Viele Grüße

    ludger müller
    gestaltung für bildschirm und papier aus münster in westfalen

    https://artbeit.de

  • Moin Ludger,

    das klang für mich nach einem Feature Vorschlag.

    Wie wäre es denn stattdessen mit einem Feature, durch das man value und Inhalt der Option-Elemente getrennt voneinander (z.B mit Komma getrennt) setzen kann. Dann kann ich auch ein leeres value lasse, was bei Browservalidierung mit required ja funktionieren würde.

    Ja klar ist es blöd, wenn ein Tag nicht mehr so funktioniert wie bisher, deshalb ist es in solchen Fällen dann wichtig, genau zu definieren, wie du diesen Tag genutzt hast und was nicht mehr funktioniert und mit einem Vorschlag, wie es gelöst werden könnte, um eventuell beide Verhaltensweisen abzubilden. Die Änderung hat ja einen Grund, aber webEdition ist ein OpenSource System, an dem jede Person mitgestalten darf. Deswegen die Bitte um einen geeigneten Vorschlag, der beides berücksichtigt.

  • Hallo zusammen,

    bin gerade über das Thema gestoßen, da wir auch eine Anforderung bei einem Kundenprojekt haben.
    Der Placeholder ist ja jetzt drin und kann beliebig gesetzt werden, jedoch find ich aus usability-sicht die aktuelle Implementierung noch ausbaufähig. Das Problem bei den selectfeldern ist bei einigen usern ja scheinbar, dass diese einfach überflogen werden.

    Sinnvoll wäre es aus meiner Sicht daher, den Placeholder wie z.B. "Bitte auswählen" mit dem attribut disabled zu versehen, damit diese browser-nativ nicht auswählbar sind.

    Konnte in der bugbase hierzu gerade nichts finden – gibt es dazu schon einen Beitrag den ich übersehen habe?

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!