helmut: warum gibt es keine combobox in HTML?

Hallo,

Ich frage mich bereits seit mehreren Jahren warum es in HTML keine combobox gibt. Es gibt schon lange verschiedenste Versuche solche Formular-Elemente mittels Javascript und CSS umzusetzen. Dies ist aber dann ein eher aufwendiges Verfahren das ich nur teilweise für sinnvoll halte.

Auch durch diese aufwendigen Bemühungen der Webentwickler kann ich mir nicht vorstellen dass so ein Element sowohl von sämtlichen Browserentwicklern als auch von solchen die HTML-Standards definiert haben einfach vergessen wurde.

Es muss also einen ganz bestimmten Grund geben warum es solche Felder in HTML einfach nicht gibt. Und der würde mich mehr als brennend interessieren.

kann mir da jemand helfen?

besten Dank,
Helmut

  1. Hi,

    Ich frage mich bereits seit mehreren Jahren warum es in HTML keine combobox gibt.

    weil es bei der Entwicklung von HTML als nicht nötig und/oder nicht sinnvoll erachtet wurde. Nur wenige Systeme erlaubten es, ein solches Konzept einzusetzen, so dass eine Combobox in HTML zu weitreichender Inkompatibilität geführt hätte.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Ich frage mich bereits seit mehreren Jahren warum es in HTML keine combobox gibt.

      weil es bei der Entwicklung von HTML als nicht nötig und/oder nicht sinnvoll erachtet wurde.

      Interessantes Thema. Wie ist der beobachtete und beschriebene Sachverhalt begründet?

      1. Hi,

        Interessantes Thema. Wie ist der beobachtete und beschriebene Sachverhalt begründet?

        die von mir genannte Schlussfolgerung entstammt meinem eigenen Verstehen, welches sich aus diversen Texten entwickelt hat, die oft aus der Frühzeit des World Wide Web stammen. Ich bilde mir ein begriffen zu haben, welchen Ansatz Tim Berners-Lee und seine Umgebung "damals" gefahren sind, um die damals vorliegende Problematik zu lösen - und um welche Problematik es sich eigentlich gehandelt hat. Eine Referenz, bei der Du meine Behauptung nachprüfen kannst, kann ich Dir leider nicht geben.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. die von mir genannte Schlussfolgerung entstammt meinem eigenen Verstehen, welches sich aus diversen Texten entwickelt hat, die oft aus der Frühzeit des World Wide Web stammen. Ich bilde mir ein begriffen zu haben, welchen Ansatz Tim Berners-Lee und seine Umgebung "damals" gefahren sind, um die damals vorliegende Problematik zu lösen - und um welche Problematik es sich eigentlich gehandelt hat. Eine Referenz, bei der Du meine Behauptung nachprüfen kannst, kann ich Dir leider nicht geben.

          Warum gibt es denn nun keine Combobox? Die Begründung, dass es keine gibt, weil es keine gibt, ist nicht schlecht, aber mir ein wenig zu philosophisch. Also, wer Berners-Lee verstanden hat, wird doch wohl auch das wissen. Ist die Combobox vielleicht "böse"? (Sollten die Browser auf ihre Adressleisten verzichten?)

          1. Warum gibt es denn nun keine Combobox? Die Begründung, dass es keine gibt, weil es keine gibt, ist nicht schlecht, aber .....

            Das hat Cheatah doch auch gar nicht gesagt?
            Lies nochmal https://forum.selfhtml.org/?t=137165&m=890905

            Struppi.

            --
            Javascript ist toll (Perl auch!)
  2. Hi

    kann mir da jemand helfen?

    Kann sein, dass ich mich irre, aber laut Wikipedia meinen wir dasselbe.
    Eine Combobox realisiere ich mit dem dafür vorgesehenen Element <select>, darin das Element <option>. SelfHTML sagt "Wenn Sie size="1" angeben, definieren Sie eine so genannte 'Dropdown-Liste'". Also gib noch size="1" mit an. Und voila, du hast deine Combobox.
    Jedenfalls das was ich und Wikipedia darunter verstehen...

    Viele Grüße
    lässi

    1. Hi,

      Kann sein, dass ich mich irre, aber laut Wikipedia meinen wir dasselbe.

      dann irren Du und Wikipedia (welches ich jetzt nicht konsultiert habe).

      Eine Combobox realisiere ich mit dem dafür vorgesehenen Element <select>,

      Eine Combobox ermöglicht zusätzlich zu einer Auswahl vordefinierter Werte auch eine freie Eingabe. Daher "Combo". HTML sieht dazu kein Element vor.

      Cheatah

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
    2. Moin!

      Eine Combobox realisiere ich mit dem dafür vorgesehenen Element <select>, darin das Element <option>. SelfHTML sagt "Wenn Sie size="1" angeben, definieren Sie eine so genannte 'Dropdown-Liste'". Also gib noch size="1" mit an. Und voila, du hast deine Combobox.
      Jedenfalls das was ich und Wikipedia darunter verstehen...

      Wie Wikipedia und der von dir verlinkte Artikel explizit vermelden, ist in HTML eine Combobox nicht realisierbar.

      Lesen bildet.

      - Sven Rautenberg

      --
      "Love your nation - respect the others."
    3. Hallo,

      Kann sein, dass ich mich irre, aber laut Wikipedia meinen wir dasselbe.

      nein, offensichtlich nicht, denn der Wikipedia-Artikel nennt ganz deutlich den entscheidenden Unterschied zwischen einer "Combobox" und einer Auswahlliste:

      Der Name Combobox leitet sich davon ab, dass sie als Kombination aus einem Textfeld (...) und einem Listenfeld (...) betrachtet werden kann. Bei einer Combobox sind daher optional Tastatureingaben in das Textfeld der Combobox möglich oder aber die Auswahl/Änderung einer der vorgegebenen Listeneinträge.

      Und genau hier liegt der Hase im Pfeffer: Beim HTML-Element select ist eben _keine_ freie Texteingabe möglich, sondern _ausschließlich_ die Auswahl aus der Liste.

      Jedenfalls das was ich und Wikipedia darunter verstehen...

      Du vielleicht schon - die Wikipedia nicht. ;-)

      So long,
       Martin

      --
      Niemand lebt allein von seinen Träumen.
      Aber wer träumt, lebt noch.
  3. Moin!

    Es muss also einen ganz bestimmten Grund geben warum es solche Felder in HTML einfach nicht gibt. Und der würde mich mehr als brennend interessieren.

    Ein Grund, der mir einfällt: Comboboxen haben in ihren klassischen Anwendungen häufig ein Erinnerungsvermögen, die hinzugefügten Freitext-Einträge sind also bei erneutem Aufruf der Box wieder vorhanden. Sowas kann man in HTML alleine aber nicht realisieren, dazu benötigte man Serverunterstützung - welche wiederum kollidieren würde mit dem normalen Verhalten des Formulars, nur den selektierten Eintrag abzuschicken, nicht noch alle weiteren neu hinzugefügten Texteinträge.

    Zweiter Grund: In <select> sind auswählbarer Text und Formularwert durchaus unterschiedlich. Mit Comboboxen kann man eine getrennte Eingabe von value und Text nicht realisieren.

    Die existierenden Formularfelder sind, bei genauer Betrachtung, exakt die Mindestanforderung, die man zur Erfüllung von Formularaufgaben wirklich benötigt. Eine Combobox kann ja immer durch Kombination von <select> und <input type=text> realisiert werden, sofern man auf die Auswahlmöglichkeit von <select> nicht verzichten kann.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Ein Grund, der mir einfällt: Comboboxen haben in ihren klassischen Anwendungen häufig ein Erinnerungsvermögen, die hinzugefügten Freitext-Einträge sind also bei erneutem Aufruf der Box wieder vorhanden. Sowas kann man in HTML alleine aber nicht realisieren, [...]

      Eine Combobox kann das, was ein <INPUT> kann und ein <SELECT> kann. Insofern ist es realisierbar.

      Zweiter Grund: In <select> sind auswählbarer Text und Formularwert durchaus unterschiedlich. Mit Comboboxen kann man eine getrennte Eingabe von value und Text nicht realisieren.

      Das ist ebenfalls realisierbar.

      Die existierenden Formularfelder sind, bei genauer Betrachtung, exakt die Mindestanforderung, die man zur Erfüllung von Formularaufgaben wirklich benötigt. Eine Combobox kann ja immer durch Kombination von <select> und <input type=text> realisiert werden, sofern man auf die Auswahlmöglichkeit von <select> nicht verzichten kann.

      Richtig, darum vermisse zumindest ich auch die "gute alte" Combobox.

      1. Moin!

        Ein Grund, der mir einfällt: Comboboxen haben in ihren klassischen Anwendungen häufig ein Erinnerungsvermögen, die hinzugefügten Freitext-Einträge sind also bei erneutem Aufruf der Box wieder vorhanden. Sowas kann man in HTML alleine aber nicht realisieren, [...]

        Eine Combobox kann das, was ein <INPUT> kann und ein <SELECT> kann. Insofern ist es realisierbar.

        Was kann denn eine Combobox jetzt wirklich genau?

        Zweiter Grund: In <select> sind auswählbarer Text und Formularwert durchaus unterschiedlich. Mit Comboboxen kann man eine getrennte Eingabe von value und Text nicht realisieren.

        Das ist ebenfalls realisierbar.

        Nicht als Combobox, IMO.

        Die existierenden Formularfelder sind, bei genauer Betrachtung, exakt die Mindestanforderung, die man zur Erfüllung von Formularaufgaben wirklich benötigt. Eine Combobox kann ja immer durch Kombination von <select> und <input type=text> realisiert werden, sofern man auf die Auswahlmöglichkeit von <select> nicht verzichten kann.

        Richtig, darum vermisse zumindest ich auch die "gute alte" Combobox.

        Kannst du ja ruhig vermissen, geben wird es sie deshalb in HTML trotzdem nicht.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
        1. Eine Combobox kann das, was ein <INPUT> kann und ein <SELECT> kann. Insofern ist es realisierbar.

          Was kann denn eine Combobox jetzt wirklich genau?

          Eine Combobox erlaubt die Auswahl eines Wertes aus einer Liste, zudem können diese als Schlüssel der Liste genutzt werden oder andere Schlüssel können hinterlegt werden.
          Ausserdem kann alternativ ein Wert eingetragen werden, der wiederum als Schlüssel dienen kann. Wiederum kann man einen anderen Schlüssel hinterlegen.
          Das Schlüssel-Wertpaar wird typischerweise clientseitig (JS) oder serverseitig (<FORM>) weitergegeben.

          Richtig, darum vermisse zumindest ich auch die "gute alte" Combobox.

          Kannst du ja ruhig vermissen, geben wird es sie deshalb in HTML trotzdem nicht.

          Warum gibt es die Combo nicht? Klar, es wäre ein zusätzliches und substituierbares Element, aber es wäre offensichtlich ökonomisch dieses zur Verfügung zu haben.

          1. Hallo,

            Kannst du ja ruhig vermissen, geben wird es sie deshalb in HTML trotzdem nicht.

            Warum gibt es die Combo nicht? Klar, es wäre ein zusätzliches und substituierbares Element, aber es wäre offensichtlich ökonomisch dieses zur Verfügung zu haben.

            Naja, Du kannst genauso fragen, warum es kein Rich-Text-Editierelement schon im HTML-Standard gibt (man muss das nachbauen, siehe TineMCE & Co), das wäre auch ökonomisch. Die Antwort ist schlichtweg: Die Leute, die den Standard entworfen haben, haben es nicht als wichtig erachtet.

            Viele Grüße,
            Christian

            --
            "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup
            1. Naja, Du kannst genauso fragen, warum es kein Rich-Text-Editierelement schon im HTML-Standard gibt (man muss das nachbauen, siehe TineMCE & Co), das wäre auch ökonomisch. Die Antwort ist schlichtweg: Die Leute, die den Standard entworfen haben, haben es nicht als wichtig erachtet.

              :)

              Du hast wohl recht. Eine kurze Web-Recherche war recht fruchtlos:
              http://www.google.de/search?hl=de&q="why+there+is+no+combobox+in+HTML"&btnG=Suche&meta=
              http://www.google.de/search?hl=de&q=why+there+is+no+combobox+in+HTML&meta=
              http://www.google.de/search?hl=de&q="Warum+gibt+es+keine+Combobox+in+HTML"&meta=
              http://www.google.de/search?hl=de&q=Warum+gibt+es+keine+Combobox+in+HTML&meta=

            2. Hallo Christia,

              Naja, Du kannst genauso fragen, warum es kein Rich-Text-Editierelement schon im HTML-Standard gibt (man muss das nachbauen, siehe TineMCE & Co), das wäre auch ökonomisch. Die Antwort ist schlichtweg: Die Leute, die den Standard entworfen haben, haben es nicht als wichtig erachtet.

              Oh doch, das haben sie. Ihrer Ansicht nach sollte nur der Browser das WYSIWYG-Editieren übernehmen und das ganze dann mit HTTP PUT veröffentlichen. ;)

              Tim

          2. hi,

            Eine Combobox erlaubt die Auswahl eines Wertes aus einer Liste, zudem können diese als Schlüssel der Liste genutzt werden oder andere Schlüssel können hinterlegt werden.

            Du möchtest also sagen, dass zum ausgewählten Text ein bestimmter value übergeben werden kann, der nicht mit dem Text übereinstimmen muss.

            Ausserdem kann alternativ ein Wert eingetragen werden, der wiederum als Schlüssel dienen kann. Wiederum kann man einen anderen Schlüssel hinterlegen.

            Wo denn das?
            Der Nutzer kann alles mögliche eingeben - wie hinterlegst du für alles mögliche sinnvoll zu verarbeitende Schlüssel?

            _Das_ spricht eigentlich gegen die Combobox in HTML.
            Beim Select habe ich eine definierte Menge möglicher Schlüssel, gegen die ich prüfen kann.
            Bei der Combobox hätte ich die nicht, also müsste ich erst mal alles mögliche an Werten akzeptieren - und einen Schlüssel dazu habe ich in vielen Fällen nicht.

            Wenn meine Applikation aber einen Schlüssel braucht, muss dieser sowieso erst mal angelegt werden. Das ist aber ein separater Arbeitsschritt - ich brauche Schlüssel _und_ Wert, und die Combobox kann mir maximal einen davon liefern. Und wenn es sowieso ein zusätzlicher Arbeitsschritt in der Erfassung von Daten ist - dann brauche ich dafür auch keine Combobox.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Eine Combobox erlaubt die Auswahl eines Wertes aus einer Liste, zudem können diese als Schlüssel der Liste genutzt werden oder andere Schlüssel können hinterlegt werden.

              Du möchtest also sagen, dass zum ausgewählten Text ein bestimmter value übergeben werden kann, der nicht mit dem Text übereinstimmen muss.

              key-value
              Es kann ein anderer key übertragen werden. Oder der value als key.

              Ausserdem kann alternativ ein Wert eingetragen werden, der wiederum als Schlüssel dienen kann. Wiederum kann man einen anderen Schlüssel hinterlegen.

              Wo denn das?
              Der Nutzer kann alles mögliche eingeben - wie hinterlegst du für alles mögliche sinnvoll zu verarbeitende Schlüssel?

              Ich beschrieb die typische Combobox. Ich verstehe Deine Frage (und das folgende) leider nicht so recht. Meinst Du, dass die Implementierung einer "herkömmlichen" Combobox in HTML auf irgendwelche Probleme stossen würde?

            2. Hallo,

              Der Nutzer kann alles mögliche eingeben - wie hinterlegst du für alles mögliche sinnvoll zu verarbeitende Schlüssel?

              nix Schlüssel, ich könnte mir die Realisierung einer Combobox durchaus vorstellen: Sie hätte ein value-Attribut für den Default-Inhalt des Textfelds, zusätzlich könnte sie option-Elemente als Kinder haben, die ihrerseits die vordefinierten Auswahlwerte enthalten. Das Verhalten, also das Kopieren eines Vorgabewertes in das Textfeld, würde clientseitig laufen. Beim Absenden des Formulars würde nur der momentane Inhalt des Textfelds übertragen, so dass sich dieses Element hinsichtlich der Formular-Verarbeitung genau wie ein normales einzeiliges Textfeld verhält.

              Das von Sven angesprochene Verhalten mit dem Speichern der frei eingegebenen Texte wäre auch kein Problem, solange die Combobox existiert; das Speichern über die Lebensdauer des Formulars hinaus betrachte ich persönlich zwar eher als lästig, wäre aber clientseitig auch realisierbar.

              Wenn meine Applikation aber einen Schlüssel braucht, muss dieser sowieso erst mal angelegt werden.

              Wenn meine Applikation aber (quasi) beliebige Eingaben akzeptieren kann und nur einige _Vorschläge_ anbieten will, wäre die Combobox ideal.

              Fazit: Es gibt keine Combobox in HTML. Finde ich schade, is' aber so.
              Technisch einleuchtende Gründe kann ich jedoch nicht finden.

              So long,
               Martin

              --
              Computer funktionieren grundsätzlich nicht richtig.
              Wenn doch, hast du etwas falsch gemacht.
              1. Moin!

                Das von Sven angesprochene Verhalten mit dem Speichern der frei eingegebenen Texte wäre auch kein Problem, solange die Combobox existiert; das Speichern über die Lebensdauer des Formulars hinaus betrachte ich persönlich zwar eher als lästig, wäre aber clientseitig auch realisierbar.

                Da kommen wir doch aber an den Knackpunkt: Speicher! Und speichern.

                Wobei seinerzeit wohl vermutlich die paar Bytes für etwas Freitext kein großes Problem mehr waren.

                Aber die Verfügbarkeit der Freitexte in der Combobox sind das Interessante. Üblicherweise kann man sich nämlich entscheiden, mehr als einen freien Text eingeben zu wollen. Alle eingegebenen Texte werden aber trotzdem von der Combobox gespeichert und stehen weiterhin als Auswahlmöglichkeit zur Verfügung.

                Was wird das erste sein, was passiert, wenn so eine Combobox in HTML erlaubt ist? Jemand wird schreien "Ich will aber auf dem Server auch wissen, was außer der ausgewählten Option eingegeben wurde!".

                Und der muß dann leider die Antwort kriegen: Sorry, aber das würde die standardisierte Formulardatenübermittlung zerstören, das geht nicht.

                Wenn also der einzige Mehrwert einer Combobox ist, dass sie ein Textfeld und eine Selectliste zusammenfaßt, aber sonst keinerlei Mehrwert bringt, dann ist so eine Combobox ziemlich verzichtbar, oder nicht?

                Wenn meine Applikation aber einen Schlüssel braucht, muss dieser sowieso erst mal angelegt werden.

                Wenn meine Applikation aber (quasi) beliebige Eingaben akzeptieren kann und nur einige _Vorschläge_ anbieten will, wäre die Combobox ideal.

                Das ist aber ein Tätigkeitsfeld, welches, wenn man es vernünftig und sinnvoll anwenden will, immer irgendeine Art von Zugriff auf zentrale Daten erfordert. Und somit dynamisches Verhalten, welches man üblicherweise sowieso mit Javascript, wenn nicht sogar mit XMLHttpRequest erstellen müßte.

                - Sven Rautenberg

                --
                "Love your nation - respect the others."
          3. Moin!

            Was kann denn eine Combobox jetzt wirklich genau?

            Eine Combobox erlaubt die Auswahl eines Wertes aus einer Liste, zudem können diese als Schlüssel der Liste genutzt werden oder andere Schlüssel können hinterlegt werden.
            Ausserdem kann alternativ ein Wert eingetragen werden, der wiederum als Schlüssel dienen kann. Wiederum kann man einen anderen Schlüssel hinterlegen.
            Das Schlüssel-Wertpaar wird typischerweise clientseitig (JS) oder serverseitig (<FORM>) weitergegeben.

            Ich fragte nicht, was in HTML eine Combobox sein könnte, sondern was allgemein eine Combobox ist. Mit allen Funktionalitäten.

            Die Antwort wird vermutlich aufdecken, dass eine Combobox so einfach gar nicht zu definieren ist, sondern dass es immer mal wieder programmierte Abweichungen von einem angenommenen "Standard" gibt. Und viele Verhaltensweisen einer Combobox erfordern ein Gedächtnis.

            Browser haben kein Gedächtnis! Also können auch Comboboxen kein Gedächtnis haben, weil sie im simpelsten Fall nur HTML anzeigen - keine Cookies, kein Javascript!

            Natürlich hätte man seinerzeit bei Erfindung von HTML bei Browsern ein solches Gedächtnis einfach fordern können. Oder man hätte natürlich auch einfach eine Combobox ohne Gedächtnis einbauen können.

            Aber welchen Wert hätte so eine Combobox denn gehabt? Wie ich schon erwähnte: Es gibt schlichte Texteingabefelder für den freien Text. Und es gibt Auswahllisten. Würde es irgendeinen Mehrwert bringen, wenn man in einem <select> außer der Vorauswahl noch simpel einen freien Text eingeben könnte? Das hätte Auswirkungen auf die Verarbeitung der Formulardaten.

            Warum nicht in der Auswahlliste "sonstige" auswählen und daneben dann ein Textfeld ausfüllen lassen? Fertig ist die "Combobox" in HTML.

            Richtig, darum vermisse zumindest ich auch die "gute alte" Combobox.

            Kannst du ja ruhig vermissen, geben wird es sie deshalb in HTML trotzdem nicht.

            Warum gibt es die Combo nicht? Klar, es wäre ein zusätzliches und substituierbares Element, aber es wäre offensichtlich ökonomisch dieses zur Verfügung zu haben.

            Nein, ich sehe keine Ökonomie darin. Es gibt in HTML ja auch nur ein Element für Links - keine Extrawürste für Mail-Links, Download-Links, Externe-Seiten-Links etc.

            Beschreibe, welches Eingabeszenario du mit einem Doppel von Text- und Auswahlfeld nicht abdecken kannst (ohne Javascript!).

            - Sven Rautenberg

            --
            "Love your nation - respect the others."
            1. Browser haben kein Gedächtnis!

              Warum brauchen Browser ein gedächtnis für die Implementierung der combo?

              Würde es irgendeinen Mehrwert bringen, wenn man in einem <select> außer der Vorauswahl noch simpel einen freien Text eingeben könnte?

              Definitiv. Ein selektierender Datenzugriff könnte mit einem erfassenden Datenzugriff kombiniert werden. Das wäre so zu sagen anatomischer.

              Warum nicht in der Auswahlliste "sonstige" auswählen und daneben dann ein Textfeld ausfüllen lassen? Fertig ist die "Combobox" in HTML.

              Das ist auch gut. Das würde als ideologische Begründung für die Nichtexistenz der combo ausreichen.

              Wir nähern uns der Fragestellung, ob die combo [b]überhaupt[/b] etwas taugt. :)

              Beschreibe, welches Eingabeszenario du mit einem Doppel von Text- und Auswahlfeld nicht abdecken kannst (ohne Javascript!).

              Die Anforderungslage "Wir machen unsere Formulare möglichst schlank und versuchen dem Nutzer alles so einfach wie möglich zu machen, damit dieser sein Formular ausfüllt und dann mit möglichst hoher Wahrscheinlichkeit absendet"? Jedes überflüssige Formularfeld weniger im Internet würde vermutlich jährlichen Mehrwert in Milliardenhöhe bedeuten.

    2. hi,

      Ein Grund, der mir einfällt: Comboboxen haben in ihren klassischen Anwendungen häufig ein Erinnerungsvermögen, die hinzugefügten Freitext-Einträge sind also bei erneutem Aufruf der Box wieder vorhanden. Sowas kann man in HTML alleine aber nicht realisieren, dazu benötigte man Serverunterstützung

      Das hat <input type="text"> in vielen gängigen Browsern auf Wunsch auch, und es ist clientseitig realisiert.

      • welche wiederum kollidieren würde mit dem normalen Verhalten des Formulars, nur den selektierten Eintrag abzuschicken, nicht noch alle weiteren neu hinzugefügten Texteinträge.

      Was kollidiert da genau?
      Eine Combobox könnte mir genauso wie ein Textfeld meine bisherigen Eingaben erneut vorschlagen - ob nun clientseitig realisiert oder (halb) serverseitig über AJAX wie bei google suggest o.ä.
      (Aha, OK - du meinst vermutlich, dass auch eine "Erinnerung" an Einträge stattfinden soll, die ich nicht wirklich abgeschickt habe - die aber trotzdem irgendwie an den Server übertragen werden müssten, wenn dieser das Autovervollständigen übernehmen soll.)

      Was ich da viel eher kollidieren sehe:
      <input type="text"> bietet mir die vorherigen Eingaben in einer aufklappenden Liste an - und <select> bietet mir seine Optionen ebenfalls in einer Liste an. Eine solche Liste müsste also vom Seitenersteller vorgegebene und von mir selbst bereits zu früheren Zeitpunkten gemachte Eingaben unter einen Hut bringen.

      Das liefe im worst case auf ungewollte Suggestiv-Antworten hinaus - wenn der Seitenbetreiber von mir wissen will, welchen Schauspieler(in) ich am tollsten finde, und mir A, B und C zur Auswahl vorgibt und mir des weiteren die Möglichkeit lässt, selbst einen Namen anzugeben - dann poppen da die Namen D, E und F ebenfalls auf, weil ich die früher mal in anderem Zusammenhang in eine (gleichnamige) Combobox eingegeben habe, obwohl ich bei der Frage jetzt eigentlich gar nicht an einen von denen gedacht hätte ...

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
  4. Es muss also einen ganz bestimmten Grund geben warum es solche Felder in HTML einfach nicht gibt. Und der würde mich mehr als brennend interessieren.

    Ich schalte mich jetzt mal aus der durchaus interessanten Diskussion aus. Es gibt keinen für mich nachvollziehbaren Grund auf den combo-Verzicht.

    Aber danke für die interessante Frage. Ich frage mich warum ich mich das selbst noch nie gefragt habe. :)

  5. Hallo Helmut,

    Ich frage mich bereits seit mehreren Jahren warum es in HTML keine combobox gibt.

    Ein möglicher Grund könnte sein, dass die Combobox nicht bei allen Betriebssystemen als Element der Benutzeroberfläche existiert. Unter Mac OS und Mac OS X sind die sogar relativ unbekannt, sieht man mal von Spezialfällen wie Browser-Adressleisten oder Such-Eingabefeldern ab. Text-Input-Felder, Select-Dinger, Radiobuttons und Checkboxen sind dagegen fast universell.

    Tim

    1. Moin!

      Ein möglicher Grund könnte sein, dass die Combobox nicht bei allen Betriebssystemen als Element der Benutzeroberfläche existiert. Unter Mac OS und Mac OS X sind die sogar relativ unbekannt, sieht man mal von Spezialfällen wie Browser-Adressleisten oder Such-Eingabefeldern ab. Text-Input-Felder, Select-Dinger, Radiobuttons und Checkboxen sind dagegen fast universell.

      Wobei ich das auch gut nachvollziehen kann, denn Comboboxen sind von der Benutzerfreundlichkeit vielleicht nicht immer die beste Wahl. Denn man kann nicht erkennen, dass man freie Texteingabe verfügbar hat, wenn man nur die Dropdown-Liste sieht.

      - Sven Rautenberg

      --
      "Love your nation - respect the others."
      1. Hallo,

        ich muss mich verbessern.

        Ein möglicher Grund könnte sein, dass die Combobox nicht bei allen Betriebssystemen als Element der Benutzeroberfläche existiert. Unter Mac OS und Mac OS X sind die sogar relativ unbekannt ...

        Gut dass ich „unbekannt“ geschrieben habe, schließlich habe ich entdeckt, dass es doch ein Default-Kontrollelement für Combo-Boxen gibt: Klick!

        Wobei ich das auch gut nachvollziehen kann, denn Comboboxen sind von der Benutzerfreundlichkeit vielleicht nicht immer die beste Wahl.

        Ja, ich sehe die Dinger auch so gut wie nie unter Mac OS X.

        Denn man kann nicht erkennen, dass man freie Texteingabe verfügbar hat, wenn man nur die Dropdown-Liste sieht.

        Nun ja, die Mischung aus Textfeld und Dropdown-Liste macht das schon ganz gut. Vor allem, weil das normale Kontrollfeld für Selects keine Dropdown-Liste sondern eine  Popup-Liste ist ;)

        Tim

  6. Besten Dank mal für die bisherigen Antworten :)

    Da sind einige Fragen von Gedächtnis usw. aufgetaucht. Aber das ist alles kein Hindernis so wie ich das sehe:

    Beispielsweise könnte eine combobox in HTML so aussehen:

    Beispiel 1:
    <select name="meine_combobox" value="das ist der defaulttext" editable>
        <option>erster Eintrag</option>
        <option>zweiter Eintrag</option>
        <option>dritter Eintrag</option>
    </select>

    Beispiel 2:
    <select name="meine_combobox" editable>
        <option value="1" selected>erster Eintrag</option>
        <option value="2">zweiter Eintrag</option>
        <option>dritter Eintrag</option>
    </select>

    Das select-Element wird durch die Angabe von "editable" zu einer combobox.

    Der standard-wert kann in einem value im select-Element stehen (Bsp1) oder wie bei einem normalen select mit "selected" im option-element definiert werden (Bsp2).

    Wenn eines der Optionen ausgewählt wird könnte einfach der Inhalt in das Feld übernommen werden und genauso als Wert wie bei einem Textfeld übermittelt werden (Bsp1).
    Es könnte vielleicht noch optional die Möglichkeit geben einen eigenen value für jede Option zu definieren der dann bei Auswahl einer Option als wert übermittelt wird. Wird kein extra value angegeben wird einfach der entsprechende Auswahl-Text übermittelt (Bsp2) .. diese Variante halte ich aber nicht für sinnvoll.

    So eine Sache wie Erinnerungsvermögen ist Sache des Webentwicklers und ist ja ohne weiteres zum Beispiel mit php zu realisieren. Eine Clientseitige Erinnerung halte ich bei einer combobox nicht für sinnvoll.

    Es würde vollkommen ausreichen wenn eine combobox in HTML nichts anderes wäre als ein normales Textfeld mit Vorschlägen für Einträge die fix vorgegeben sind. Alle Erweiterungen und Spezialverhalten sind dann ja ohne weiteres vom Webentwickler zu realisieren.

    Der eindeutige Vorteil einer solchen combobox ist das benutzerfreundliche Verhalten einen Hinweis zu geben was in dem Textfeld stehen könnte. Egal ob das fixe Vorschläge sind oder einfach nur früher eingegebene Einträge (die ja mit php dann auch realisiert werden können)

    Kann vielleicht mal jemand bei W3C nachfragen oder recherchieren? Bin leider in Englisch nicht sehr sattelfest um nicht zu sagen irrsinnig schlecht. *versteck*

    besten Dank,
    Helmut

    1. hi,

      Beispielsweise könnte eine combobox in HTML so aussehen:

      Schön, dass du Beispiele lieferst, wie du dir die Einbindung in HTML vorstellen könntest.
      ABer was hat das mit dem Thema zu tun?

      Auf die weiteren Einwände hinsichtlich erwarteter/befürchteter Probleme bei der Verarbeitung eingegebener Daten etc. gehst du überhaupt nicht ein.

      So eine Sache wie Erinnerungsvermögen ist Sache des Webentwicklers und ist ja ohne weiteres zum Beispiel mit php zu realisieren.

      Hier unterschlägst du den bereits gebrachten, berechtigten Einwand, dass dazu alle gemachten Eingaben zum Server übertragen werden müssten (sofern das "Erinnerungsvermögen" auch diese betreffen soll).

      [...] .. diese Variante halte ich aber nicht für sinnvoll.
      [...]
      Eine Clientseitige Erinnerung halte ich bei einer combobox nicht für sinnvoll.

      So so, für "nicht sinnvoll" erachtest oder hältst du also einiges - nur im Gegensatz zu anderen Meiungen mangelt es bei dir irgendwie an einer Begründung.

      Es würde vollkommen ausreichen wenn eine combobox in HTML nichts anderes wäre als ein normales Textfeld mit Vorschlägen für Einträge die fix vorgegeben sind. [...] Der eindeutige Vorteil einer solchen combobox ist das benutzerfreundliche Verhalten einen Hinweis zu geben was in dem Textfeld stehen könnte.

      Da kannst du genausogut ein Textfeld mit einer Liste kombinieren, wenn du solche "Hinweise" geben willst.
      Und wenn das "Abtippen" zu viel Aufwand darstellen würde, helfe halt mir Javascript nach - Klich auf Listeneintrag überträgt dessen Text ins Eingabefeld o.ä.

      Dass beim manuellen Übertragen der "Hinweise" fehler auftreten könnten, lasse ich als Argument nicht gelten - wenn deine Applikation sowieso frei vom Nutzer wählbare Eingaben akzeptieren soll, sollte sich auch über eine entsprechende Fehlertoleranz verfügen.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. So eine Sache wie Erinnerungsvermögen ist Sache des Webentwicklers und ist ja ohne weiteres zum Beispiel mit php zu realisieren.

        Jetzt hake ich doch noch mal nach. Svens Einwand ein wenig weiter unten kann ich ja respektieren, aber das hier häufig geäusserte Argument mit dem Erinnerungsvermögen konnte ich bisher leider nicht einmal verstehen.

        Zur Info:
        "Meine" Combobox sieht so aus, dass ein Eintrag aus einer Liste (wie bei <SELECT>) gewählt werden kann und alternativ ein weiterer Eintrag der genannten Liste beigefügt werden kann, der dann auch als "ausgewählt" gilt.

        Was ist also mit Erinnerungsvermögen gemeint? Warum sind neue serverseitige oder clientseitige Techniken erforderlich (Anmerkung zu clientseitig: die über die oben beschriebene Anpassung herausgehen)?

        1. Jetzt hake ich doch noch mal nach. Svens Einwand ein wenig weiter unten kann ich ja respektieren

          meinst du das Argument dass man nicht erkennen kann dass nicht nur eine Auswahl sondern auch eine freie Texteingabe möglich ist?

          Zur Info:
          "Meine" Combobox sieht so aus, dass ein Eintrag aus einer Liste (wie bei <SELECT>) gewählt werden kann und alternativ ein weiterer Eintrag der genannten Liste beigefügt werden kann, der dann auch als "ausgewählt" gilt.

          Ich weiß nicht ob ich das gleiche meine wie du (nur anders ausgedrückt), aber ich sehe es so, dass in ein Textfeld ein Text eingetragen werden kann und alternativ dazu ein Eintrag aus einer Liste gewählt werden kann der dann in das Textfeld automatisch übernommen wird. Es gilt immer der Inhalt des Textfeldes.

          Was ist also mit Erinnerungsvermögen gemeint? Warum sind neue serverseitige oder clientseitige Techniken erforderlich (Anmerkung zu clientseitig: die über die oben beschriebene Anpassung herausgehen)?

          Ich bin mir nicht sicher ob ich deine Frage richtig verstanden habe, aber so wie ich das mittlerweile sehe (möglich dass das genau das ist was du meinst) ist es so, dass diese Erinnerung eigentlich keine Eigenschaft der Combobox ist sondern nichts anderes ist als eben die vorgeschlagenen Inhalte. Da gibt es also keinen Unterschied.
          Man kann auch ein einfaches Textfeld für verschiedene Dinge verwenden wie zum Beispiel für die Angabe von einer Überschrift oder für die Angabe eines Namens. Da wird auch nicht unterschieden.
          Also braucht auch nicht unterschieden werden welche vordefinierten Inhalte in der Combobox-Liste erscheint. Ob das nun Einträge sind die es schon gegeben hat oder andere ist im Prinzip egal.

          lg,
          Helmut

          1. meinst du das Argument dass man nicht erkennen kann dass nicht nur eine Auswahl sondern auch eine freie Texteingabe möglich ist?

            Ja, aber ich bin kein GUI-Experte.

            Ich weiß nicht ob ich das gleiche meine wie du (nur anders ausgedrückt),

            Glaub schon.

            Was ist also mit Erinnerungsvermögen gemeint? Warum sind neue serverseitige oder clientseitige Techniken erforderlich (Anmerkung zu clientseitig: die über die oben beschriebene Anpassung herausgehen)?

            Ich bin mir nicht sicher ob ich deine Frage richtig verstanden habe, aber so wie ich das mittlerweile sehe (möglich dass das genau das ist was du meinst)

            Glaub schon. Ich habe viele der Gegenargumentierungen bzgl. der "Combo" nicht verstanden. Es gibt neben dem o.g. "GUI-Argument" die ideologische Begründung, dass ein selektierender mit einem erfassenden Datenzugriff kombiniert wird. Ich glaube, dass deshalb die Dikussion etwas ausführlicher wurde.

            Ich selbst finde Combos cool, die Browser wohl auch. ;)

      2. So eine Sache wie Erinnerungsvermögen ist Sache des Webentwicklers und ist ja ohne weiteres zum Beispiel mit php zu realisieren.

        Hier unterschlägst du den bereits gebrachten, berechtigten Einwand, dass dazu alle gemachten Eingaben zum Server übertragen werden müssten (sofern das "Erinnerungsvermögen" auch diese betreffen soll).

        Um soetwas zu realisieren braucht bei jedem Absenden des Formulars ausschließlich der ausgewählte Eintrag zum Server geschickt werden. Dort am Server werden mit der Zeit alle gesendeten Inhalte in einer Datanbank gesammelt (pro senden des Formulars also maximal ein neuer Eintrag). Mit der Zeit kommen da vermutlich einige Einträge zusammen. Bei jedem Aufruf des Formulars werden dann diese Einträge aus der Datenbank geholt und in die HTML-Struktur der Combobox eingebunden. Dann ausgegeben ... und schon kann man einen der vergangenen Eingaben erneut auswählen. Nicht gesendete Eingaben werden dabei natürlich nicht berücksichtigt. Aber bei den einfachen Textfeldern die durch diverse Browser eine Erinnerung erhalten ist dies auch nicht der Fall.

        [...] .. diese Variante halte ich aber nicht für sinnvoll.
        [...]
        Eine Clientseitige Erinnerung halte ich bei einer combobox nicht für sinnvoll.

        So so, für "nicht sinnvoll" erachtest oder hältst du also einiges - nur im Gegensatz zu anderen Meiungen mangelt es bei dir irgendwie an einer Begründung.

        ok ..
        Warum halte ich die Variante mit einem optionalen value nicht für sinnvoll?
        Da der User beliebiges in das Feld schreiben kann ist es ohnehin eine beliebige Zeichenkette die bei Bedarf sowieso serverseitig überprüft werden muss. Außerdem ist es unlogisch dass ein Wert vorgeschlagen wird der eigentlich nur vorgibt ein Wert zu sein und in Wirklichkeit nur eine Bezeichnung eines Wertes ist.

        Warum halte ich eine Clientseitige Erinnerung nicht für sinnvoll?
        Weil dies ein zusätzliches Service ist das man wenn man will leicht serverseitig hinzufügen kann. Außerdem ist so eine Erinnerung in manchen Fällen einfach nicht sinnvoll oder sogar unerwünscht weil störend (siehe Benutzerfreundlichkeit am Ende dieses Absatzes).
        Nebenbei führt das zu Konflickten, da dann serverseitige Vorschläge mit Clientseitigen Vorschlägen irgendwie vereint werden müssten. Welche wären oben? welche unten? wären sie vermischt? wären sie voneinander zu unterscheiden?
        Diese offenen Fragen die dann durchaus den User selbst beschäftigen könnten würde die Sinnhaftigkeit der Combobox verlieren, da die Vorschläge für den User nicht mehr durchschaubar sind was die Benutzerführung wieder verschlechtert. Obwohl eine Combobox eher für das Gegenteil gedacht ist. (die Benutzerführung zu verbessern)
        Außerdem ist eine Clientseitige Erinnerung in den meisten Browsern beim einfachen Textfeld bereits vorhanden. Die Textfelder haben also im prinzip schon den Funktionsumfang einer Combobox. Mit dem Nachteil, dass keine Einträge vom Server vorgeschlagen werden können. Also ist eine Clientseitige Version im Prinzip schon vorhanden. Deshalb halte ich eine Clientseitige Erinnerung für eine mögliche Combobox für wenig sinnvoll, weil sie keine Bereicherung sondern nur eine Verwirrung wäre. Was dadurch User verschreckt und verjagt.

        Es würde vollkommen ausreichen wenn eine combobox in HTML nichts anderes wäre als ein normales Textfeld mit Vorschlägen für Einträge die fix vorgegeben sind. [...] Der eindeutige Vorteil einer solchen combobox ist das benutzerfreundliche Verhalten einen Hinweis zu geben was in dem Textfeld stehen könnte.

        Da kannst du genausogut ein Textfeld mit einer Liste kombinieren, wenn du solche "Hinweise" geben willst.
        Und wenn das "Abtippen" zu viel Aufwand darstellen würde, helfe halt mir Javascript nach - Klich auf Listeneintrag überträgt dessen Text ins Eingabefeld o.ä.

        Benutzerfreundlich ist ein Formular dann wenn es möglichst schlank gehalten ist und keine Anleitung braucht. Da diese Vorgangsweise wie du sie beschreibst unüblich ist braucht es auch eine Anleitung. Und Formulare mit Anleitung schrecken Benutzer grundsätzlich eher ab.
        Ich würde eben gerne die Benutzerfreundlichkeit verbessern. Das ist so wie ich das sehe auch das wesentliche Ziel einer Combobox.

        Dass beim manuellen Übertragen der "Hinweise" fehler auftreten könnten, lasse ich als Argument nicht gelten - wenn deine Applikation sowieso frei vom Nutzer wählbare Eingaben akzeptieren soll, sollte sich auch über eine entsprechende Fehlertoleranz verfügen.

        das ist kein Thema ... selbstverständlich .. würde ich auch nicht als Argument nehmen. Weil bei so einem Formular vermutlich sowieso jeder flüchten würde. Dann brauch ich garnix mehr prüfen, weil nix mehr eingetragen wird :)

        lieben Gruß,
        Helmut

        1. Moin!

          So eine Sache wie Erinnerungsvermögen ist Sache des Webentwicklers und ist ja ohne weiteres zum Beispiel mit php zu realisieren.

          Hier unterschlägst du den bereits gebrachten, berechtigten Einwand, dass dazu alle gemachten Eingaben zum Server übertragen werden müssten (sofern das "Erinnerungsvermögen" auch diese betreffen soll).

          Um soetwas zu realisieren braucht bei jedem Absenden des Formulars ausschließlich der ausgewählte Eintrag zum Server geschickt werden. Dort am Server werden mit der Zeit alle gesendeten Inhalte in einer Datanbank gesammelt (pro senden des Formulars also maximal ein neuer Eintrag). Mit der Zeit kommen da vermutlich einige Einträge zusammen. Bei jedem Aufruf des Formulars werden dann diese Einträge aus der Datenbank geholt und in die HTML-Struktur der Combobox eingebunden. Dann ausgegeben ... und schon kann man einen der vergangenen Eingaben erneut auswählen. Nicht gesendete Eingaben werden dabei natürlich nicht berücksichtigt. Aber bei den einfachen Textfeldern die durch diverse Browser eine Erinnerung erhalten ist dies auch nicht der Fall.

          Die Sache ist die: Nur weil du dir die Combobox wie beschrieben vorstellst, heißt das ja noch lange nicht, dass andere Programmierer sich die Combobox nicht komplett anders vorstellen können - und eben genau diesen Effekt des "der Benutzer schreibt X Boxeinträge, die alle mit übertragen werden, plus die Auswahl eines der Einträge" haben wollen würden, wenn es denn eine Combobox gäbe.

          Warum halte ich eine Clientseitige Erinnerung nicht für sinnvoll?
          Weil dies ein zusätzliches Service ist das man wenn man will leicht serverseitig hinzufügen kann.

          Kann man ja eben nicht, weil der Server die Eintragungen, die nicht ausgewählt abgeschickt werden, nie erfährt.

          Nebenbei führt das zu Konflickten, da dann serverseitige Vorschläge mit Clientseitigen Vorschlägen irgendwie vereint werden müssten. Welche wären oben? welche unten? wären sie vermischt? wären sie voneinander zu unterscheiden?

          Da kommst du also in den Bereich der Benutzerfreundlichkeit einer Combobox, die anscheinend ja doch nicht so einfach zu handhaben ist. Genau diese Punkte dürften auch dazu geführt haben, dass sie in HTML komplett weggelassen wurde.

          Diese offenen Fragen die dann durchaus den User selbst beschäftigen könnten würde die Sinnhaftigkeit der Combobox verlieren, da die Vorschläge für den User nicht mehr durchschaubar sind was die Benutzerführung wieder verschlechtert. Obwohl eine Combobox eher für das Gegenteil gedacht ist. (die Benutzerführung zu verbessern)

          Das bestreite ich. Woran erkennt man als Nutzer, dass man es mit einer Combobox zu tun hat im Vergleich zu einer Selectbox oder einer Mehrfachselectbox?

          Comboboxen sind verhältnismäßig selten in Benutzerinterfaces. Und das ist auch gut so IMO.

          Außerdem ist eine Clientseitige Erinnerung in den meisten Browsern beim einfachen Textfeld bereits vorhanden. Die Textfelder haben also im prinzip schon den Funktionsumfang einer Combobox. Mit dem Nachteil, dass keine Einträge vom Server vorgeschlagen werden können. Also ist eine Clientseitige Version im Prinzip schon vorhanden. Deshalb halte ich eine Clientseitige Erinnerung für eine mögliche Combobox für wenig sinnvoll, weil sie keine Bereicherung sondern nur eine Verwirrung wäre. Was dadurch User verschreckt und verjagt.

          Das ist aber nun doch wieder ein Widerspruch! Der Browser bietet als Service an, dass bereits gemachte Einträge in ein Textfeld gespeichert und später wieder abgerufen werden können, sobald man die ersten paar Zeichen tippt.

          Warum darf so eine Funktion bei Comboboxen, wo man sich unter Umständen auch mehrfach die Finger wundtippt, wenn der gewünschte Text nicht in der Vorauswahl enthalten ist, plötzlich nicht enthalten sein? Weil es Zuordnungsprobleme mit der Quelle der Auswahlmöglichkeiten gibt. Man müßte also eine doppelte Combobox machen, eine Ausklappliste mit Servervorschlägen, und eine mit gespeicherten Clientvorschlägen. Dabei würden dann aber alle User die Segel streichen, das ist klar.

          Andererseits: Warum sollte eine Combobox schlechter sein, als ein Textfeld?

          Eben weil eine Combobox solche Probleme hat, gibt es sie vermutlich auch nicht in HTML.

          Benutzerfreundlich ist ein Formular dann wenn es möglichst schlank gehalten ist und keine Anleitung braucht.

          Da stimme ich dir zu. Je komplizierter aber ein Control ist, desto mehr Erklärung braucht man.

          Die Controls, die in HTML existieren, sind die absolute Basis, die jeder Benutzer sofort an ihrer Form erkennt. Bis auf eine Ausnahme: <select multiple>! Mehrfachauswahl wird in keiner Weise optisch dargestellt, man kann es nur erraten, indem man testweise mit STRG klickt. Oder indem eine Anleitung im Formular steht. Oftmals ist aber die Nutzung von Checkboxen der schlauere und übersichtlichere Weg.

          Eine Combobox wäre jetzt noch ein weiterer Level der Komplexität: Etwas, was vorausgefüllte Listeneinträge bietet, und am Rand mit dem üblichen "Klick mich, ich klappe eine Liste aus"-Icon versehen ist, nimmt plötzlich auch noch freie Texteingaben an, und erlaubt (sowas muß man zwingend mit einplanen) auch das Editieren der bestehenden Einträge (wäre ja blöd, wenn in der Liste etwas wie "Käse" stehen würde, man aber gerne "Doppelt Käse" auf die Pizza haben will, und Worte, die schon verfügbar sind, neu eintippen müßte). Wobei das Beispiel dann richtig extrem wird, denn was passiert mit dem Eintrag "Käse", wenn ich ihn bearbeitet habe? Kommt ein neuer Eintrag "Doppelt Käse" in die Liste, und "Käse" bleibt? Oder wird "Käse" überschrieben? Wird "Doppelt Käse" wieder gelöscht, wenn ich mir überlege, doch noch was anderes als Freitext einzugeben? Und wie wehrt man die Begehrlichkeiten der Programmierer ab, die nicht nur den am Ende ausgewählten Eintrag wissen wollen, sondern auch alle sonst neu eingetragenen Werte?

          Da diese Vorgangsweise wie du sie beschreibst unüblich ist braucht es auch eine Anleitung. Und Formulare mit Anleitung schrecken Benutzer grundsätzlich eher ab.

          Was braucht denn hier eine Anleitung:
          <select> ...<option>Anderes (unten eingeben)</option></select>
          Anderes: <input type="text">

          Da ergibt sich die Nutzung des Formulars doch praktisch von selbst, und das Resultat ist auch sehr eindeutig.

          Ich würde eben gerne die Benutzerfreundlichkeit verbessern. Das ist so wie ich das sehe auch das wesentliche Ziel einer Combobox.

          Comboboxen sind, was die Benutzerfreundlichkeit angeht, meist grausam. Recht gut gelöst sind die URL-Zeilen in Browsern. Da steht allerdings nicht die Listenauswahl im Vordergrund, sondern es handelt sich primär um ein Textfeld, welches beim Tippen durch "dynamische, unterstützte Listenauswahl" schneller befüllt werden kann.

          Nur: So eine Funktionalität kriegst du in einem HTML-Formular nicht hin, weil du ja bekanntlich niemals sämtliche gemachten Einträge kennen kannst, und außerdem ohne Javascript auch nicht die beim Tippen erfolgte Einschränkung der Gesamtliste hinkriegst. Ob das mit Javascript in vernünftiger Zeit hinzukriegen wäre, ist außerdem noch sehr die Frage, zumal ohne Javascript die zwangsweise entstehende riesige Liste absolut benutzerfeindlich wäre.

          - Sven Rautenberg

          --
          "Love your nation - respect the others."