HTML-ввод Дата и время - Локальный
HTML-элемент
<input>
с
type="datetime-local"
позволяет пользователям выбирать дату и время без указания часового пояса. Этот тип ввода полезен для приложений, которым требуется ввод конкретной локальной даты и времени, например, для планирования мероприятий или настройки напоминаний.
В отличие от
<input type="date">
, который позволяет выбирать только дату, и
<input type="time">
, который позволяет выбирать только время,
<input type="datetime-local">
объединяет дату и время в одном элементе управления.
В этом уроке по HTML мы изучим Input Datetime-Local, его синтаксис, атрибуты, стили и практическое применение с подробными примерами.
1. Базовый синтаксис
Основной синтаксис для ввода datetime-local:
<input type="datetime-local" name="appointment">
Здесь:
-
type="datetime-local": Указывает, что входные данные предназначены для выбора как даты, так и времени. -
name: Определяет имя поля ввода для отправки формы.
2. Добавление метки для доступности
Использование элемента
<label>
улучшает доступность и предоставляет контекст для ввода:
<label for="meeting">Schedule a meeting:</label>
<input type="datetime-local" id="meeting" name="meeting">
Нажатие на метку фокусирует поле ввода, улучшая пользовательский опыт.
3. Установка значений по умолчанию
Вы можете задать значение по умолчанию с помощью атрибута
value
. Значение должно иметь формат
YYYY-MM-DDTHH:MM
.
<input type="datetime-local" id="start" name="start" value="2024-12-10T14:30">
В этом примере дата по умолчанию — 10 декабря 2024 года, а время по умолчанию — 14:30.
4 Установка минимальных и максимальных значений
Используйте атрибуты
min
и
max
для ограничения диапазона выбираемых дат и времени:
<input type="datetime-local" id="event" name="event"
min="2024-05-01T09:00"
max="2024-12-31T18:00">
В этом примере выбор ограничивается датами и временем между 9:00 утра 1 января 2024 года и 18:00 вечера 31 декабря 2024 года.
5. Проверка с обязательным атрибутом
Атрибут
required
гарантирует, что пользователь не сможет отправить форму, не выбрав дату и время:
<input type="datetime-local" id="deadline" name="deadline" required>
Если пользователь попытается отправить форму, не выбрав значение, браузер выдаст ошибку проверки.
6. Стилизация ввода даты и времени в локальной среде
Стиль поля datetime-local можно задать с помощью CSS, но внешний вид селектора календаря и времени контролируется браузером и не может быть задан напрямую:
<style>
input[type="datetime-local"] {
width: 100%;
padding: 10px;
font-size: 16px;
border: 1px solid #ccc;
border-radius: 5px;
}
input[type="datetime-local"]:focus {
border-color: #4CAF50;
outline: none;
box-shadow: 0 0 5px #4CAF50;
}
</style>
<label for="appointment">Set appointment date and time:</label>
<input type="datetime-local" id="appointment" name="appointment">
В этом примере поле ввода оформляется так, чтобы сделать его визуально привлекательным, а фокус обозначается зеленой рамкой.
7 Использование JavaScript с локальным вводом даты и времени
Вы можете динамически взаимодействовать с локальными полями datetime с помощью JavaScript. Например, можно установить минимальное значение текущей даты и времени:
<input type="datetime-local" id="now" name="now">
<script>
const currentDate = new Date();
const formattedDate = currentDate.toISOString().slice(0, 16);
document.getElementById('now').setAttribute('min', formattedDate);
</script>
Этот скрипт гарантирует, что пользователи не смогут выбирать прошедшие даты и время.
8. Вопросы доступности
Чтобы сделать входные данные datetime-local доступными:
- Используйте описательные метки, чтобы четко обозначить цель ввода.
-
При необходимости укажите дополнительные инструкции, используя
aria-describedbyили текст-заполнитель. - Убедитесь, что поле ввода можно фокусировать и использовать с помощью навигации с помощью клавиатуры.
9 реальных вариантов использования
- Планирование событий: позвольте пользователям устанавливать даты и время событий, не беспокоясь о часовых поясах.
- Запись на прием: дайте пользователям возможность выбирать местные даты и время для записи на прием.
- Сроки выполнения задач: соберите информацию о сроках выполнения проектов или задач.
Заключение
HTML-элемент
<input type="datetime-local">
используется для сбора данных даты и времени в одном поле. Разбираясь в его атрибутах и комбинируя их с JavaScript и CSS, вы сможете создавать эффективные и удобные формы для различных приложений.