select ergänzungsfähig?
Gast
- html
0 Ole0 dave0 Gunnar Bittersmann
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
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
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
Hallo Gunnar,
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
@@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'
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
[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!"