Надпросте рішення HTML 5:
<input type="search" placeholder="Search..." />
Джерело: Підручник з HTML 5 - Тип введення: Пошук
Це працює щонайменше в Chrome 8, Edge 14, IE 10 і Safari 5 і не вимагає Bootstrap або будь-якої іншої бібліотеки. (На жаль, схоже, Firefox ще не підтримує кнопку очищення пошуку.)
Після набору тексту у вікні пошуку з’явиться знак «x», на який можна натиснути, щоб очистити текст. Це все одно буде працювати як звичайне поле редагування (без кнопки "x") в інших браузерах, таких як Firefox, тому користувачі Firefox можуть замість цього виділити текст і натиснути delete або ...
Якщо вам справді потрібна ця приємна у користуванні функція, що підтримується у Firefox, тоді ви можете реалізувати одне з інших рішень, розміщених тут як полізаповнення для введення елементів [type = search]. Поліфіл - це код, який автоматично додає стандартну функцію браузера, коли браузер користувача не підтримує цю функцію. З часом ми сподіваємось, що ви зможете видалити поліфіли, оскільки браузери реалізують відповідні функції. І в будь-якому випадку, реалізація поліфілу може допомогти зберегти HTML-код чистішим.
До речі, інші типи введення HTML 5 (наприклад, "дата", "номер", "електронна пошта" тощо) також витончено погіршають до простого поля редагування. Деякі браузери можуть запропонувати вам вигадливий інструмент вибору дати, регулятор обертання з кнопками вгору / вниз або (на мобільних телефонах) спеціальну клавіатуру, що включає знак "@" та кнопку ".com", але, наскільки мені відомо, всі браузери буде принаймні показати просте текстове поле для будь-якого невідомого типу вхідного сигналу.
Рішення Bootstrap 3 та HTML 5
Bootstrap 3 скидає багато CSS і ламає кнопку скасування пошуку HTML 5. Після завантаження CSS Bootstrap 3 ви можете відновити кнопку скасування пошуку за допомогою CSS, що використовується в наступному прикладі:
<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>
Джерело: HTML 5 Введення даних не працює з Bootstrap
Я перевірив, що це рішення працює в останніх версіях Chrome, Edge та Internet Explorer. Я не можу протестувати в Safari. На жаль, кнопка "x" для очищення пошуку не відображається у Firefox, але, як і вище, для браузерів, які не підтримують цю функцію (наприклад, Firefox), може бути застосована полізаповнення.