Supereinfache HTML 5-Lösung:
<input type="search" placeholder="Search..." />
Quelle: HTML 5 Tutorial - Eingabetyp: Suche
Dies funktioniert mindestens in Chrome 8, Edge 14, IE 10 und Safari 5 und erfordert weder Bootstrap noch eine andere Bibliothek. (Leider scheint Firefox die Schaltfläche zum Löschen der Suche noch nicht zu unterstützen.)
Nach Eingabe des Suchfelds wird ein 'x' angezeigt, auf das geklickt werden kann, um den Text zu löschen. Dies funktioniert weiterhin wie ein normales Bearbeitungsfeld (ohne die Schaltfläche 'x') in anderen Browsern, z. B. Firefox, sodass Firefox-Benutzer stattdessen den Text auswählen und Löschen drücken können oder ...
Wenn Sie diese nette Funktion wirklich benötigen, die in Firefox unterstützt wird, können Sie eine der anderen hier veröffentlichten Lösungen als Polyfüllung für Eingabeelemente [Typ = Suche] implementieren. Eine Polyfüllung ist Code, der automatisch eine Standardbrowserfunktion hinzufügt, wenn der Browser des Benutzers die Funktion nicht unterstützt. Mit der Zeit besteht die Hoffnung, dass Sie Polyfills entfernen können, wenn Browser die entsprechenden Funktionen implementieren. In jedem Fall kann eine Polyfill-Implementierung dazu beitragen, den HTML-Code sauberer zu halten.
Übrigens werden auch andere HTML 5-Eingabetypen (wie "Datum", "Nummer", "E-Mail" usw.) ordnungsgemäß in ein einfaches Bearbeitungsfeld umgewandelt. Einige Browser bieten Ihnen möglicherweise eine ausgefallene Datumsauswahl, eine Drehfeldsteuerung mit Auf- / Ab-Tasten oder (auf Mobiltelefonen) eine spezielle Tastatur mit dem @ -Zeichen und einer .com-Taste, aber meines Wissens alle Browser werden mindestens ein einfaches Textfeld für jeden nicht erkannten Eingabetyp an.
Bootstrap 3 & HTML 5 Lösung
Bootstrap 3 setzt viel CSS zurück und unterbricht die Schaltfläche zum Abbrechen der HTML 5-Suche. Nachdem das Bootstrap 3-CSS geladen wurde, können Sie die Schaltfläche zum Abbrechen der Suche mit dem im folgenden Beispiel verwendeten CSS wiederherstellen:
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<style>
input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: searchfield-cancel-button;
}
</style>
<div class="form-inline">
<input type="search" placeholder="Search..." class="form-control" />
</div>
Quelle: HTML 5 Search Input funktioniert nicht mit Bootstrap
Ich habe getestet, dass diese Lösung in den neuesten Versionen von Chrome, Edge und Internet Explorer funktioniert. Ich kann nicht in Safari testen. Leider wird die Schaltfläche 'x' zum Löschen der Suche in Firefox nicht angezeigt. Wie oben könnte jedoch eine Polyfüllung für Browser implementiert werden, die diese Funktion nicht nativ unterstützen (z. B. Firefox).