Guides / Building Search UI / Widgets

Change browser defaults for InstantSearch.js

If you don’t use the built-in InstantSearch or Autocomplete components to render a search box, you need to change the default properties of the HTML input element to turn off the default autocomplete behavior of the browser.

A classic search HTML input looks like:

1
<input type="text" id="search" />

When a user starts typing into this input, the browser may use its default search-as-you-type behavior, which interferes with the custom search box. This guide describes how to avoid this behavior.

Updating input attributes# A

Set these attributes on the HTML input element to turn off the browser’s default behavior:

1
2
3
4
5
6
<input type="text"
       id="search"
       autocomplete="off"
       autocorrect="off"
       autocapitalize="none"
       spellcheck="false" />

In Chrome, autocomplete="off" doesn’t work. In Chrome, you can turn off autocomplete by setting the attribute to an invalid value like autocomplete="nope". The same solution doesn’t work in Firefox (it disregards the invalid value and reverts to the default autocompletion behavior).

More information about input attributes# A

For more information, see these MDN references:

Did you find this page helpful?