Soluzione HTML 5 super semplice:
<input type="search" placeholder="Search..." />
Fonte: tutorial HTML 5 - Tipo di input: ricerca
Funziona almeno su Chrome 8, Edge 14, IE 10 e Safari 5 e non richiede Bootstrap o qualsiasi altra libreria. (Sfortunatamente, sembra che Firefox non supporti ancora il pulsante di cancellazione della ricerca.)
Dopo aver digitato nella casella di ricerca, verrà visualizzata una "x" su cui è possibile fare clic per cancellare il testo. Funzionerà comunque come una normale casella di modifica (senza il pulsante "x") in altri browser, come Firefox, quindi gli utenti di Firefox potranno invece selezionare il testo e premere Elimina, oppure ...
Se hai davvero bisogno di questa bella funzionalità supportata in Firefox, potresti implementare una delle altre soluzioni pubblicate qui come polyfill per gli elementi di input [tipo = ricerca]. Un polyfill è un codice che aggiunge automaticamente una funzionalità del browser standard quando il browser dell'utente non supporta la funzionalità. Nel tempo, la speranza è che sarai in grado di rimuovere i polyfill man mano che i browser implementano le rispettive funzionalità. E in ogni caso, un'implementazione del polyfill può aiutare a mantenere il codice HTML più pulito.
A proposito, anche altri tipi di input HTML 5 (come "data", "numero", "email", ecc.) Si degradano con grazia in una semplice casella di modifica. Alcuni browser potrebbero fornire un selezionatore di date di fantasia, un controllo di selezione con pulsanti su / giù o (sui telefoni cellulari) una tastiera speciale che include il segno "@" e un pulsante ".com", ma per quanto ne so, tutti i browser mostrerà almeno una casella di testo normale per qualsiasi tipo di input non riconosciuto.
Soluzione Bootstrap 3 e HTML 5
Bootstrap 3 ripristina molti CSS e interrompe il pulsante di annullamento della ricerca HTML 5. Dopo che il CSS Bootstrap 3 è stato caricato, è possibile ripristinare il pulsante di annullamento della ricerca con il CSS utilizzato nel seguente esempio:
<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>
Fonte: input di ricerca HTML 5 non funziona con Bootstrap
Ho verificato che questa soluzione funzioni nelle ultime versioni di Chrome, Edge e Internet Explorer. Non sono in grado di eseguire il test in Safari. Sfortunatamente, il pulsante "x" per cancellare la ricerca non viene visualizzato in Firefox, ma come sopra, potrebbe essere implementato un polyfill per i browser che non supportano questa funzionalità in modo nativo (ad esempio Firefox).