Zum Inhalt springen

Editable Combobox in HTML


Empfohlene Beiträge

gibts ne einfache Möglichkeit in HTML eine ComboBox, aber mit editierbaren Text (falls keine Auswahl passt) zu machen, ohne großartig mit JavaScript rumzubasteln?

Soweit ich weiß nicht.

Oder zumidnest via Radiobuttons entweder ein LineEdit oder eine Auswahlbox aktiv zu schalten?

Das sollte funktionieren. Kommt darauf an, was Du mit "aktiv schalten" meinst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mit aktiv schalten meinte ich, das jeweils nicht benutzte Control auszugrauen/disablen, wie auch immer man das nennen will.

Ich hab aber jetzt schon einfachen JS-Code gefunden, der einigermaßen das tut, was ich will:

<script type="text/javascript">
function comboBox(el)
{
var val = el.options[el.selectedIndex].value;
if(!val)
{
var input = document.createElement('input');
el.parentNode.appendChild( input );
el.style.display = 'none';
input.onblur = function()
{
var new_val = input.value;
el.style.display = '';
el.parentNode.removeChild( input );
if(new_val)
{
var o = new Option(new_val, new_val);
var l = el.options.length;
var tmp = el.options[l - 1];
el.options[l -1] = o;
el.options[l] = tmp;
el.selectedIndex = l - 1;
}
};
}
}
</script>[/PHP]

Das einzige was mir nicht gefällt ist, dass er die Eingabe erst in die Combobox übernimmt wenn das LineEdit den Focus verliert... dabei sendet im LineEdit leider auch schon ein Durck auf Enter das Formular ab, statt nur die Eingabe in die Combobox zu übernehmen.

Das kann man aber bestimmt auch noch fixen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich würde eine Variante verwenden, die auch ohne Javascript funktioniert. Zum Beispiel die Variante mit Radiobutton. Ausgrauen ist dann mit JavaScript kein Problem und das Formular funktioniert auch ohne JS wie es soll.

Wenn ich zum Ausgrauen wieder JavaScript brauche, funktioniert es ja doch wieder nur MIT JavaScript :D

Ich würde auch eine Methode komplett ohne JS bevorzugen, hab aber leider noch keine Möglichkeit gefunden, wie das ohne JS gehen sollte.

Möglich wäre natürlich ein LineEdit UND die ComboBox anzuzeigen und dem User alles zu überlassen. Aber wie reagiere ich dann, wenn in der ComboBox was ausgewählt ist UND im LineEdit Text steht? Das ist mir leider zu unsicher.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn ich zum Ausgrauen wieder JavaScript brauche, funktioniert es ja doch wieder nur MIT JavaScript :D

Ausgrauen ist zur korrekten Funktion des Formulars nicht notwendig, das ist reiner Schnickschnack.

Ich würde auch eine Methode komplett ohne JS bevorzugen, hab aber leider noch keine Möglichkeit gefunden, wie das ohne JS gehen sollte.

Du könntest die Auswahl komplett per Radiobuttons lösen. Jeweils ein Radiobutton pro Auswahlmöglichkeit und ein zusätzlicher für einen händischen Eintrag.

Möglich wäre natürlich ein LineEdit UND die ComboBox anzuzeigen und dem User alles zu überlassen. Aber wie reagiere ich dann, wenn in der ComboBox was ausgewählt ist UND im LineEdit Text steht? Das ist mir leider zu unsicher.

Indem Du dem User per Radiobutton die Auswahl von Eingabefeld oder Auswahlliste anbietest. Dann wertest Du aus, welcher Radiobutton ausgewählt wurde und übernimmst dann den entsprechenden Wert.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Deine Einwände sind richtig. ComboBox und Lineedit per Radiobutton ginge, auch alle Möglichkeiten + Lineedit per Radiobutton ginge.

Ich würde das auch verstehen und könnte es benutzen. Aber wenn sich da nichts ausgraut und ich da meinen Vater davorsetze, wäre er mit Sicherheit völlig planlos, was er denn da jetzt machen sollte und wie er es benutzen sollte.

Man darf nicht immer davon ausgehen, dass das nur von einem Informatiker (oder IT-Interessierten) benutzt wird/werden soll. ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich kenne Deine Zielgruppe nicht. Ich denke, dass so gut wie alle Leute, die eingen Computer benutzen, mit der Funktionsweise von Radiobuttons vertraut sind. Demnach wäre die Variante, alle Einträge als Radiobuttons zu gestalten, vielleicht die beste.

Man könnte natürlich argumentieren, dass weniger versierte Nutzer eher selten JavaScript deaktiviert haben und entsprechend ausgegraut wird.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich kenne Deine Zielgruppe nicht. Ich denke, dass so gut wie alle Leute, die eingen Computer benutzen, mit der Funktionsweise von Radiobuttons vertraut sind.

Autsch, ganz schwerer Irrtum, nach meiner Erfahrung. Viele kennen das zwar und benutzen es auch, haben aber eigentlich keine Ahnung, wie es funktioniert.

Wenn da keine optische Unterstützung da ist, was sie da gerade aktivieren, va. wenn da auch noch ein Eingabefeld dabei ist, siehts oft düster aus.

Meine Zielgruppe sind zwar Forenbenutzer, aber nicht die typischen IT-Interessierten.

Was mich an den Radiobuttons für jede Option stört, ist dass es das Formular mit der Zeit deutlich in die Länge zieht. Selbst wenn es nur 10 Optionen sind, ist eine Combobox da wesentlich übersichtlicher.

Falls Javascript deaktiviert ist, kann man nur die Möglichkeit nicht nutzen, neue Werte einzutragen, was ja im Laufe der Zeit immer seltener nötig sein sollte.

Bis jetzt haben es jedenfalls gut 30 Leute geschafft, das Teil zu benutzen :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...