Gast: select ergänzungsfähig?

Hallo,

per Cookie merke ich mir Eingaben des Users und möchte die als <select> beim nächsten Besuch wieder anbieten.

Wie kann ich es erreichen, dass der User dem <select> einen neuen Wert hinzufügen kann?

Mir ist nur die Möglichkeit mit zwei getrennten Feldern bekannt.

Gast

  1. Hallo,

    da HTML keine Combobox bietet ist der Weg über 2 Felder ein möglicher.

    Eine andere Möglichkeit wäre ein Text-Input-Feld mit einer Autocomplete- oder (Auto)Suggest-Funktion auszustatten (Javascript, jQuery) und diese mit den Daten aus dem Cookie zu füllen.

    Gruß
    Ole

    1. Hi,

      zusätzlich gibt es in HTML5 noch das list-Attribut für input-Elemente und das zugehörige datalist-Element.

      Der Browser-Support ist aber eher mau.

      ~dave

    2. @@Ole:

      nuqneH

      da HTML keine Combobox bietet

      Doch, HTML bietet eine Combobox.

      Und @adactio bietet einen Fallback.

      Qapla'

      --
      „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
      1. Hallo Gunnar,

        Doch, HTML bietet eine Combobox.

        Danke, habe ich getestet. Leider sieht man dem Eingabefeld nicht an, dass eine Auswahl möglich ist. Und wozu <label> in den Beispieln dient, hat sich mir nicht erschlossen.

        Aus User-Sicht stelle ich es mir so vor:

        Ein leeres Eingabefeld.

        Falls Werte aus den letzten Sitzungen per Cookie gespeichert sind, soll ein Zeichen (z.B. Pfeil runter) anzeigen, dass eine Auswahl besteht. Der User klickt auf auf das Zeichen, dann auf einen Wert und drittens auf Absenden.

        Wenn Zeichen eingegeben werden, werden per Ajax Vorschläge angezeigt (mit jedem eingegebenen Zeichen neu). Der User klickt auf einen Wert oder tippt weiter.

        Gast

        1. @@Gast:

          nuqneH

          Leider sieht man dem Eingabefeld nicht an, dass eine Auswahl möglich ist.

          Ja, da lässt die Implementierung in Browsern noch zu wünschen übrig. Es liegt an dir, das Feld mit einem entsprechendem Hinweis zu versehen, bspw. ▼ als Hintergrund.

          Und wozu <label> in den Beispieln dient, hat sich mir nicht erschlossen.

          Wozu es immer dient: um einen Bezug zwischen Beschriftung und Eingabefeld herzustellen. Wichtig für Barrierefreiheit. Und wenn man auf die Beschriftung, erhält das Eingabefeld den Fokus.

          Wenn Zeichen eingegeben werden, werden per Ajax Vorschläge angezeigt (mit jedem eingegebenen Zeichen neu). Der User klickt auf einen Wert oder tippt weiter.

          Ah, du willst Auto-Vervollständigung.

          Qapla'

          --
          „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
          1. Gunnar,

            Ah, du willst Auto-Vervollständigung.

            Die habe ich schon. Anstatt etwas Vorhandenes zu wählen <select>, muss man da auf der Tastatur tippen.

            Diese Tipperei wollte ich ersetzen durch eine Auswahl (meinetwegen Combobox), aber die Auto-Vervollständigung behalten, falls das Gewünschte nicht in der Auswahl enthalten ist.

            Gast

      2. [latex]Mae  govannen![/latex]

        Doch, HTML bietet eine Combobox.

        Und @adactio bietet einen Fallback.

        Wie nutzt man eine Combobox?
        Ich habe vor einiger Zeit mal eine in mein Kontaktformular eingebaut. Hat auch bei Erstaufruf des Dokuments funktioniert wie gewünscht. Das Problem: Beim ersten Roundtrip wird vom Server-Script die jeweilige Nutzerwahl ins Input-Feld geschrieben, danach zeigt Firefox beim erneuten Aufklappen der Optionen *ausschließlich* diesen einen vorgewählten Eintrag an. Die Auswahl einer anderen Vorgabe ist _nicht_ mehr möglich. Ich halte das für ziemlich kaputt. Gleiches Problem bei Iron. Opera macht es (noch) richtig.

        »selected« bei den »option«-Elementen hilft hier auch nicht, da die Optionen standardmäßig unsichtbar sind.

        Damit ist der Nutzen von Comboboxen sehr stark eingeschränkt.

        Nimmt man nun noch hinzu, daß bei einem Klick aufs Label "nur" das Input-Element aktiviert wird und es keine browserseitige Hinweise gibt, daß überhaupt eine zusätzliche Auswahl möglich ist, ergibt sich für mich folgendes Fazit:  Comboboxen sind (wieder mal) eine nur halbgar durchdachte bzw. umgesetzte Lösung, die man den Nutzern nicht zumuten kann.

        Stur lächeln und winken, Männer!

        Kai

        --
        Array(16).join("x" - 1) + " Batman!"
        „Die Borg würden nicht mal Spaß verstehen, wenn sie einen Vergnügungspark assimiliert hätten!” (B'Elanna Torres)
        SelfHTML-Forum-Stylesheet