Bliss.js предоставляет удобные средства для работы с элементами
формы, включая чтение, установку и отслеживание значений полей. В основе
лежит метод .val(), который позволяет взаимодействовать с
value как с отдельным свойством HTML-элемента, но при этом
предлагает упрощённый синтаксис и интеграцию с остальными возможностями
библиотеки.
Для чтения текущего значения поля используется метод
.val() без аргументов. Bliss автоматически учитывает тип
поля:
let input = Bliss('#username');
let currentValue = input.val(); // Получает строку из текстового поля
Особенности работы с различными типами элементов:
и
— возвращается строка. —
возвращается true или false в зависимости от
состояния. —
возвращается значение выбранной радио-кнопки из группы. — возвращается значение
выбранного . Для множественного выбора —
массив выбранных значений.Пример для радио-кнопок и селекта:
let selectedOption = Bliss('input[name="gender"]:checked').val();
let selectedValues = Bliss('#multiSelect').val(); // Возвращает массив
Передача аргумента в .val() изменяет значение поля.
Bliss автоматически корректирует тип данных:
Bliss('#username').val('ivan'); // Устанавливает текст
Bliss('#agree').val(true); // Отмечает checkbox
Bliss('input[name="gender"]').val('male'); // Выбирает radio-кнопку
Bliss('#multiSelect').val(['option1', 'option3']); // Выбирает несколько опций
Важно, что установка значения радио-кнопки через .val()
ищет кнопку с нужным value и устанавливает её состояние
checked. Если такого значения нет — состояние не
изменяется.
Bliss позволяет работать сразу с формой целиком. Метод
.val() на элементе возвращает
объект, где ключи — имена полей, а значения — их текущие
value:
let formData = Bliss('#signupForm').val();
/*
{
username: 'ivan',
password: '12345',
gender: 'male',
interests: ['music', 'books'],
agree: true
}
*/
Для установки значений формы передаётся объект с ключами по имени полей:
Bliss('#signupForm').val({
username: 'anna',
gender: 'female',
interests: ['art'],
agree: false
});
Bliss автоматически обработает типы данных: отметит нужные checkbox и
radio, выберет опции .
Bliss упрощает привязку событий изменения значения. Метод
.on('change', callback) позволяет реагировать на любые
изменения поля, включая ввод текста и выбор опций:
Bliss('#username').on('change', function() {
console.log('Новое значение:', this.val());
});
Для форм это позволяет получать актуальные данные при любом взаимодействии с пользователем:
Bliss('#signupForm').on('change', function() {
console.log('Данные формы:', this.val());
});
.val() всегда
возвращает корректный логический тип или значение выбранного элемента.
Несовпадение значений может привести к тому, что выбор не
изменится. —
возвращается массив. При установке значения важно передавать массив,
иначе выбор не изменится.name у элементов — поля без
имени не будут учитываться при получении объекта через
.val().Метод .val() удобно комбинировать с другими
функциями:
.each() — для обхода группы полей и индивидуальной
обработки значений..filter() — для работы только с выбранными полями,
например, с checkbox или текстовыми полями..attr() — для чтения или изменения атрибутов, связанных
с value, таких как disabled или readonly.Пример выборочной обработки:
Bliss('#signupForm input[type="text"]').each(function() {
console.log(this.val());
});
При работе с формами часто используют следующую структуру:
let data = Bliss('#myForm').val();
if (!data.username) {
console.warn('Имя пользователя не задано');
}
fetch('/submit', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify(data)
});
Использование .val() делает весь процесс максимально
компактным и понятным, без ручного обхода каждого элемента формы.