Umbrella JS — это лёгкая библиотека для работы с DOM, ориентированная на простое и интуитивное манипулирование элементами. Одной из ключевых задач при работе с формами и пользовательским вводом является чтение значений полей формы. Umbrella JS предоставляет удобные методы для этой цели, минимизируя необходимость писать громоздкий код на чистом JavaScript.
.val()Метод .val() в Umbrella JS позволяет получить или
установить значение элемента формы. Он является аналогом jQuery
.val(), но с более лёгким синтаксисом.
Синтаксис для получения значения:
u('input[name="username"]').val();
В этом примере возвращается текущее значение текстового поля с
атрибутом name="username". Метод автоматически работает с
любыми элементами формы, включая <input>,
<textarea> и <select>.
Если селектор возвращает несколько элементов,
.val() вернёт значение первого элемента в
наборе.
Для элементов типа checkbox и radio
.val() возвращает значение только выбранного
элемента. Для получения всех выбранных значений в группе
чекбоксов необходимо использовать .map() совместно с
.val():
let checkedValues = u('input[name="hobbies"]:checked')
.map(el => el.value);
Метод .map() перебирает набор элементов и возвращает
массив значений выбранных элементов. Важно учитывать, что
.val() без фильтрации по :checked вернёт
значение первого чекбокса в наборе, даже если он не выбран.
Для <select> с одиночным выбором
.val() возвращает значение выбранной
опции:
let selectedOption = u('select#country').val();
Для <select multiple> .val()
возвращает массив выбранных значений:
let selectedOptions = u('select#languages').val(); // ['JavaScript', 'Python']
Это позволяет сразу работать с набором данных, не нужно вручную
проходить по каждому <option>.
Метод .text() используется для получения текста
внутри элементов, что может быть полезно, если требуется
получить содержимое <p>, <span>
или других блоков:
let paragraphText = u('p.description').text();
Если селектор возвращает несколько элементов, .text()
объединяет текст всех элементов в одну строку.
Доступ к значениям по имени или идентификатору:
селекторы Umbrella JS поддерживают все стандартные CSS-селекторы, что
позволяет удобно выбирать поля по id, name или
классу.
Единообразный подход: метод .val()
работает с большинством элементов формы одинаково, что упрощает
обработку данных.
Автоматическое преобразование типов: метод всегда возвращает строку или массив строк. Для числовых значений необходимо явное преобразование:
let age = parseInt(u('input#age').val(), 10);
Часто требуется получить значения нескольких полей формы и сформировать объект для дальнейшей отправки:
let formData = {
username: u('input[name="username"]').val(),
email: u('input[name="email"]').val(),
hobbies: u('input[name="hobbies"]:checked').map(el => el.value),
country: u('select#country').val()
};
Такой подход позволяет структурировать данные формы без использования дополнительных библиотек и длинных циклов.
Получение значений полей можно сочетать с событиями Umbrella JS,
например, change или input, для динамического
отслеживания изменений:
u('input[name="username"]').on('input', function() {
console.log('Текущее значение:', u(this).val());
});
u(this) создаёт экземпляр Umbrella JS для конкретного
элемента, что позволяет безопасно применять методы .val() и
другие, не затрагивая остальные элементы страницы.
.val().val() для любых элементов формы, где
требуется текущее значение.:checked и метод .map() для получения
массива.<select multiple> .val()
возвращает массив выбранных значений..val() с событиями для динамической обработки
ввода.Метод .val() вместе с другими возможностями Umbrella JS
обеспечивает компактное и понятное получение значений полей формы,
сокращая количество кода и повышая читаемость скриптов.