Как отключить автозаполнение полей форм?

У этой записи есть очень интересная предыстория.

Я ходил на конференцию по созданию и продвижению сайтов. Во время обеда мы обсуждали хохмы, о которых заявляют заказчики после сдачи проекта(сайта).

Одной из хохм было примерно следующее:

— Я сделал сайт, показал заказчику. Она полазила по страничкам и ей понравилось всё, кроме одной, на её взгляд, очень важной вещи. Она заходила на сайт через Google Chrome. когда она нажимала на строку поиска или на строку заказа, то браузер сам предлагал ей варианты, которые она вводила раньше. Разработчик долго ей втирал, что он к этому не имеет никакого отношения и, что это «Корпорация добра» постаралась.

В тот момент мы просто посмеялись и забыли. А сегодня я задумался над этим вопросом, просто в моем приложении Вконтакте меня бесит это автозаполнение и я решил от него избавиться.

Как оказалось, решение очень простое, правда работает оно только в современных браузерах с поддержкой HTML5.

Управлять автозаполнением полей форм очень просто, для этого надо использовать атрибут autocomplete.

Отключение автозаполнения HTML

Пример кода:

<form autocomplete="on">...</form>

On — Включает автозаполнение формы.

Off -Отключает автозаполнение.

 Отключение автозаполнения в плагине Contact form 7 для WordPress

Открываем файл файл /wp-content/plugins/contact-form7/includes/classes.php

Ищем в этом файле «<form» и заменяем на «<form autocomplete=»off» «, находится это в районе 150-той строки, выглядит примерно так(в зависимости от версии):

$html .= '<form action="' . esc_url( $url ) . '" method="post"'
	. ( $id_attr ? ' id="' . esc_attr( $id_attr ) . '"' : '' )
	. ( $name_attr ? ' name="' . esc_attr( $name_attr ) . '"' : '' )
	. ' class="' . esc_attr( $class ) . '"'
	. $enctype . $novalidate . '>' . "\n";

В результате должно получиться следующее:

		$html .= '<form autocomplete="off" action="' . esc_url( $url ) . '" method="post"'
			. ( $id_attr ? ' id="' . esc_attr( $id_attr ) . '"' : '' )
			. ( $name_attr ? ' name="' . esc_attr( $name_attr ) . '"' : '' )
			. ' class="' . esc_attr( $class ) . '"'
			. $enctype . $novalidate . '>' . "\n";

 

4 thoughts on “Как отключить автозаполнение полей форм?

  1. Спасибо за информацию) Также хотелось бы узнать, как настроить форму комментирования в этом плагине так, как у вас?
    Я имею в виду какой файл нужно редактировать, чтобы поместить названия полей внутрь самих полей?
    Спасибо)

    • Мне не совсем понятно, какой именно вы хотите видеть форму?
      Могу только добавить, что в форме добавления «формы» можно писать html код, потому можно оформить как душе угодно

  2. В окне Параметры автозаполнения нажмите кнопку Удалить журнал автозаполнения и отключите опции Данные веб-форм и Пароли .

    • Это отключение автозаполнения на стороне пользователя, но вы ведь не будете всем пользователям рассказывать это)
      проще программно отключить автозаполнение

Leave a Comment