Атрибут autocomplete тега <form> — автозаповнення
Атрибут autocomplete визначає, чи повина форма мати автозаповнення чи ні.
Коли автозаповнення увімкнене, браузер автоматично підказує значення (у вигляді випадаючого списку) на основі значень, котрі користувач вводив раніше.
автор: с3с
Загальний опис
автор: NagarD
- Порада
-
Набагато практичніше вмикати чи вимикати автозаповнення для конкретного поля, ніж для всієї форми.
автор: с3с - Нотатка
-
Автозаповнення може бути відключено в налаштуваннях браузера, в такому випадку атрибут
автор: с3сautocompleteпрацювати не буде. - Нотатка
-
Атрибут
автор: с3сautocompleteне підтримує мобільних переглядачів.
Синтаксис
<form autocomplete="on|off">
...
</form>
Атрибут autocomplete може отримувати 2 значень:
-
on -
Вмикає автозаповнення форми.
автор: с3с -
off -
Вимикає автозаповнення. Це значення зазвичай використовується для скасування збереження в браузері важливих даних (паролів, номерів банківських карт), а також даних, котрі рідко вводяться чи унікальних даних (капча).
автор: с3с
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 14 | 4 | 6 | 15 | 12 | ≤11 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 4 | 6 |
Приклади
+ запропонувати свій приклад у пісочниці
Чотири форми, під кожною правило content: attr(autocomplete) показує оголошене значення й те, як його прочитає браузер. Червоним підсвічено поле пароля з autocomplete="off" — його все одно заповнить менеджер паролів; правильне значення показано в останній формі.
HTML
<form>
<p class="title">Атрибута немає — типове on</p>
<label for="a">Пошта</label> <input id="a" name="email" type="email">
</form>
<form autocomplete="off">
<p class="title">off — вимкнено для всієї форми</p>
<label for="b">Пошта</label> <input id="b" name="email" type="email">
<p class="hint">а це поле перекрило форму власним значенням:</p>
<label for="c">Місто</label> <input id="c" name="city" autocomplete="on">
</form>
<form autocomplete="junk">
<p class="title">Чуже значення — браузер читає його як on</p>
<label for="d">Пошта</label> <input id="d" name="email" type="email">
</form>
<form autocomplete="on">
<p class="title">Пароль: ліворуч помилка, праворуч правильно</p>
<label for="e">Пароль</label> <input id="e" type="password" autocomplete="off">
<label for="f">Пароль</label> <input id="f" type="password" autocomplete="current-password">
</form>
CSS
form {
max-width: 520px;
margin-bottom: 14px;
padding: 10px 12px;
border: 1px solid #b9c6d8;
border-radius: 6px;
background: #f6f9ff;
}
.title {
margin: 0 0 8px;
font-weight: 600;
}
.hint {
margin: 10px 0 4px;
color: #5a6472;
font-size: .9em;
}
label {
font-size: .9em;
color: #5a6472;
}
input {
padding: 5px 7px;
font: inherit;
border: 2px solid #b9c6d8;
border-radius: 4px;
}
form::after {
display: block;
margin-top: 10px;
color: #1b4f9c;
font-family: ui-monospace, monospace;
font-size: .85em;
content: "форма оголосила: " attr(autocomplete);
}
form:not([autocomplete])::after {
content: "форма нічого не оголосила — діє on";
}
form[autocomplete="junk"]::after {
color: #c0392b;
content: "форма оголосила junk — браузер прочитає це як on";
}
input[type="password"][autocomplete="off"] {
border-color: #d64545;
background: #fff4f4;
}
input[autocomplete="current-password"] {
border-color: #3a9a4f;
background: #f3fbf4;
}
Найпростіший приклад використання HTML атрибута autocomplete теґа <form>.
<p>Приклад форми для входу з використанням атрибуту 'autocomplete'</p>
<hr>
<p>З використанням 'autocomplete'</p>
<form autocomplete="on">
<label>Ім'я:</label><br>
<input type="text" name="login"><br>
<label>Email:</label><br>
<input type="email" name=""><br>
<label>Ваше повідомлення:</label><br>
<textarea></textarea>
<br>
<input type="submit" value="Увійти" >
</form>
<br>
<p>Без використання 'autocomplete'</p>
<form autocomplete="off">
<label>Ім'я:</label><br>
<input type="text" name="login"><br>
<label>Email:</label><br>
<input type="email" name=""><br>
<label>Ваше повідомлення:</label><br>
<textarea></textarea>
<br>
<input type="submit" value="Увійти" >
</form>
Різниця між HTML 4.01 та HTML5
Атрибут автозаповнення з'явився тільки в HTML5.
Коментарі
Коментарів ще немає — будьте першим!