Как сделать input html?
Посоветуйте, уже вто рой вечер, 23 строка ниче го не выдаёт, куда я не туда
Ваш вопрос
Посоветуйте, уже вто рой вечер, 23 строка ниче го не выдаёт, куда я не туда
Выбираете правильный type: text для обычного текста, email для почты с валидацией формата и специальной клавиатурой на мобильном, password скрывает символы звёздочками, number ограничивает ввод цифрами и добавляет стрелки, tel для телефона тоже даёт цифровую клавиатуру хотя формально не валидирует номер.
Добавляете name, без него значение поля вообще не попадёт в данные формы при отправке, это одна из самых частых ошибок у новичков, форма как будто отправляется а нужного значения на сервере нет.
Связываете поле с label через пару атрибутов, id у input и for у label с тем же значением, тогда клик по подписи ставит фокус в поле, это критично для удобства на сенсорных экранах, где попасть в маленький чекбокс пальцем без label почти нереально.
Добавляете placeholder как подсказку формата, например для даты, но не как замену label, потому что placeholder пропадает при начале ввода и часто недостаточно контрастен для восприятия как полноценный текст подписи.
Настраиваете встроенную валидацию через required, min, max, minlength, maxlength, pattern, эти атрибуты покрывают базовые случаи проверки без единой строчки javascript и работают во всех современных браузерах.
Для стилизации самого поля используйте border, padding, border-radius как у обычного блока, но помните что у input есть свои платформенные стили по умолчанию, которые иногда придётся сбрасывать через appearance: none, особенно у чекбоксов и радиокнопок при кастомном оформлении.
4o
| Атрибут | Зачем | type | текст, email, password, number и другие варианты клавиатуры и валидации name | ключ, под которым значение уйдёт на сервер при отправке id | связь с label через for, а не просто для стилей placeholder | подсказка внутри поля, не замена нормального label required | базовая проверка на пустое поле без единой строчки js value | значение по умолчанию, если оно нужно
Не полагайтесь только на placeholder вместо label, он исчезает при вводе текста и его не видят некоторые скринридеры корректно, для доступности всегда нужен настоящий label рядом с полем.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Лучший ответ
4.1 Fast
4.1 Fast
Как сделать input html?