Клуб Яндекс.Поиска для сайта

Отключение автозаполнения в форме поиска

Holper
6 августа 2013, 18:56

Так и не разобрался как отключить автозаполнение в форме поиска. При включенных подсказках автозаполнение в поисковой строке отключается, а при отключении подсказок автозаполнение включается. Можно ли как-то отключить и подсказки и автозаполнение?

10 комментариев
Вульбрун Дмитрий
7 августа 2013, 11:44

попробуйте после кода для вставки формы поиска добавить такой JS:

$('.ya-site-form:eq(0)').live('Ya.ya-site-form-ready', function () {
    $('.ya-site-form__input-text').attr('autocomplete', 'off');
}) ;

Не помогло.

В JS ничего не понимаю, поэтому не знаю что и поправить. Добавил этот код в тегах  сразу после кода формы, но autocomplete не добавился.

Вульбрун Дмитрий
7 августа 2013, 13:41

На каком сайте вы это делаете? holper.by ? Елси да, то у вас не выключен саджест (поисковые подсказки) в форме поиска. После того, как вы включаете или отключаете поисковые подсказки, код формы необходимо обновлять на сайте.

То что делаю пока не в интернете.

Саджест отключил.

С вашим кодом выглядит всё так:

http://holper.by/ya', 'webopt': false, 'fontsize': 18, 'arrow': false, 'fg': '#222222', 'searchid': '2040272', 'logo': 'rb', 'websearch': false, 'type': 2}" style="position: relative; z-index: 10;">http://yandex.ru/sitesearch" method="get" target="_self">

Но автозаполнение не отключается. Если надо, то могу забросить в интернет.

Вульбрун Дмитрий
7 августа 2013, 16:47

да, лучше где-то посмотреть вживую конечно.

Добавил на holper.by

В открывающемся меню поиск с отключенными подсказками и вашим кодом, но автозаполнение все равно вылазит.

Вульбрун Дмитрий
7 августа 2013, 20:24

А, ну так у вас еще не успевает проинициализироваться jQuery, которая груится с нашим кодом.

Попробуйте просто подключить версию jQuery например 1.6. В подключите вот так:

Отлично, получилось.

Если кому-то будет интересно (потому что в интернете об этом ни слова), то тем же макаром добавляется текст заглушка и автофокус, если добавить в код ещё $('.ya-site-form__input-text').attr('placeholder', 'Поиск'); $('.ya-site-form__input-text').attr('autofocus', '1');

Спасибо за помощь! :)

Этот скрипт модифицирует все выше определенные формы поиска на странице. А как изменить определенную форму, не влияя на работу других?

Вульбрун Дмитрий
28 августа 2013, 14:10

Все формы имеют свой идентификатор (айдишник), и по этим идентификаторам их можно отличить.

Например, код

$('.ya-site-form:eq(0)').live('Ya.ya-site-form-ready', function () {
    $('.ya-site-form:eq(0) .ya-site-form__input-text').attr('autocomplete', 'off');
}) ;

будет влиять только на первую форму (ID==0). А код

$('.ya-site-form:eq(1)').live('Ya.ya-site-form-ready', function () {
    $('.ya-site-form:eq(1) .ya-site-form__input-text').attr('autocomplete', 'off');
}) ;

будет влиять только на вторую форму (ID==1). Какой айдишник у какой формы - вы можете посмотреть в любом веб-инстпекторе или firebug для firefox.