
В этом тренажере вы попрактикуетесь в автоматическом заполнении полей HTML форм, используя JavaScript. Это распространенная задача, которая позволяет улучшить пользовательский опыт, предлагая подсказки, предустановленные значения или динамически обновляя содержимое полей на основе действий пользователя или данных, полученных с сервера. Вы будете работать с различными HTML элементами форм (текстовые поля, выпадающие списки, флажки) и манипулировать их атрибутами и значениями. Задания охватывают как простые сценарии (например, установка значения по умолчанию), так и более сложные (например, автозаполнение на основе выбора в другом поле или данных из массива).
- Модуль 1: Основы выбора элементов
- Выбор элемента по ID.
- Выбор элементов по классу.
- Выбор элементов по тегу.
- Выбор по селектору CSS.
- Выбор по атрибуту.
- Поиск элементов внутри другого элемента.
- Поиск родительского элемента.
- Поиск соседних элементов (предыдущий, следующий).
- Поиск первого и последнего дочернего элемента.
- Поиск всех дочерних элементов.
- Модуль 2: Манипуляция содержимым
- Модуль 3: Работа с атрибутами
- Модуль 4: Управление классами
- Модуль 5: Управление стилями
- Модуль 6: Создание и удаление элементов
- Создание нового элемента.
- Вставка элемента перед другим элементом.
- Вставка элемента после другого элемента.
- Добавление элемента в определенную позицию внутри списка дочерних элементов.
- Удаление элемента из DOM.
- Замена одного элемента другим.
- Перемещение существующего элемента в другое место DOM..
- Очистка содержимого элемента без его удаления.
- Модуль 7: Обработка событий
- Модуль 8: Работа с формами
- Модуль 9: Продвинутые манипуляции
- Модуль 10: Работа с размерами и прокруткой
- Получение размеров элемента.
- Получение позиции элемента относительно окна браузера.
- Получение позиции элемента относительно родительского элемента.
- Управление прокруткой страницы.
- Определение, виден ли элемент в текущей области просмотра.
- Плавная прокрутка к элементу.
- Создание элемента, который фиксируется при прокрутке.
- Модуль 11: Работа с медиа-элементами
- Модуль 12: Практические задания
Установка значения текстового поля
Заполните текстовое поле с id "user-name" значением "John Doe". Это базовое упражнение, демонстрирующее, как получить доступ к элементу формы и установить его значение.
<input type="text" id="user-name">
document.input__1("user-name").value = input__2;
Заполнение выпадающего списка
Установите выбранный option в выпадающем списке с id "city-select" на "London". Это показывает, как работать с элементами `<select>` и `<option>`.
<select id="city-select">
<option value="Moscow">Moscow</option>
<option value="London">London</option>
<option value="Paris">Paris</option>
</select>
document.getElementById("city-select").input__1 = input__2;
Установка флажка (checkbox)
Установите флажок с id "subscribe-checkbox" в отмеченное состояние (checked).
<input type="checkbox" id="subscribe-checkbox">
document.getElementById("subscribe-checkbox").input__1 = input__2;
Автозаполнение на основе другого поля
Заполните поле "email-copy" тем же значением, что и поле "email", когда пользователь покидает поле "email" (событие onblur).
<label for="email">Email:</label>
<input type="email" id="email" name="email">
<br>
<label for="email-copy">Email Copy:</label>
<input type="email" id="email-copy" name="email-copy">
document.getElementById("email").input__1 = function() {
document.getElementById("email-copy").value = input__2.value;
};
Автозаполнение из массива
Заполните текстовое поле с id "product-name" названием продукта, выбранного в выпадающем списке с id "product-select". Используйте массив `products`.
<label for="product-select">Выберите продукт:</label>
<select id="product-select">
<option value="0">Продукт 1</option>
<option value="1">Продукт 2</option>
<option value="2">Продукт 3</option>
</select>
<br>
<label for="product-name">Название продукта:</label>
<input type="text" id="product-name">
const products = ["Яблоко", "Банан", "Апельсин"];
document.getElementById("product-select").onchange = function() {
let selectedIndex = this.input__1;
document.getElementById("product-name").value = products[input__2];
};
Динамическое обновление списка
Добавьте новый option в выпадающий список с id "dynamic-select" с текстом и значением, введенными в текстовое поле с id "new-option-text", при нажатии на кнопку с id "add-option-button".
<input type="text" id="new-option-text">
<button id="add-option-button">Добавить</button>
<select id="dynamic-select"></select>
document.getElementById("add-option-button").onclick = function() {
let newOptionText = document.getElementById("new-option-text").value;
let newOption = document.input__1('option');
newOption.text = input__2;
newOption.value = newOptionText;
document.getElementById("dynamic-select").input__3(newOption);
};
Заполнение поля ввода даты
Установите текущую дату в поле ввода даты с id "current-date".
<input type="date" id="current-date">
let today = new Date();
let dd = String(today.getDate()).padStart(2, '0');
let mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
let yyyy = today.getFullYear();
today = yyyy + '-' + mm + '-' + input__1;
document.getElementById("current-date").value = input__2;
Заполнение данными из объекта
Заполните поля формы данными из объекта `userData`. Поля имеют id, соответствующие ключам объекта.
<input type="text" id="firstName">
<input type="text" id="lastName">
<input type="email" id="email">
const userData = {
firstName: "Alice",
lastName: "Smith",
email: "alice.smith@example.com"
};
for (let key in userData) {
if (document.getElementById(key)) {
document.getElementById(input__1).value = input__2[key];
}
}