Umbrella JS предоставляет лёгкий и удобный способ работы с DOM, упрощая манипуляции с элементами форм, их атрибутами и событиями. В этом разделе рассматриваются основные методы работы с атрибутами форм и их использование в повседневных задачах JavaScript-разработки.
Для работы с атрибутами используется метод attr(). Он
позволяет как получать значения, так и устанавливать их.
Синтаксис для получения значения атрибута:
u('input[name="username"]').attr('value');
В этом примере выбирается поле формы по имени username и
извлекается его текущее значение.
Синтаксис для установки значения атрибута:
u('input[name="username"]').attr('value', 'new_user');
Можно одновременно устанавливать несколько атрибутов, передав объект:
u('input[type="text"]').attr({
placeholder: 'Введите текст',
maxlength: 50
});
Особенности:
attr() при установке
создаст его автоматически.undefined.Для управления значением форм и полей используется метод
val(). Он является удобной обёрткой над атрибутом
value.
Получение значения поля:
let username = u('input[name="username"]').val();
Установка значения:
u('input[name="username"]').val('admin');
Особенности:
checkbox и radio значение можно
проверить с помощью prop('checked').Методы prop() и removeAttr() позволяют
управлять состоянием элементов формы.
Пример установки свойства checked для
checkbox:
u('#subscribe').prop('checked', true);
Удаление атрибута или свойства:
u('#subscribe').removeAttr('checked');
u('#username').removeAttr('disabled');
Метод prop() используется для свойств DOM-элементов,
таких как checked, selected или
disabled, в то время как attr() манипулирует
именно HTML-атрибутами.
Umbrella JS позволяет работать с группами элементов одновременно:
u('input[type="text"]').attr('readonly', true);
Все текстовые поля на странице станут только для чтения. Аналогично
можно использовать метод val() для массовой установки
значений:
u('input[name="username"], input[name="email"]').val('');
Этим приёмом удобно очищать формы или сбрасывать значения.
Метод hasAttr() возвращает true, если
элемент содержит указанный атрибут:
if (u('#email').hasAttr('required')) {
console.log('Поле email обязательно для заполнения');
}
Это особенно полезно при динамическом управлении формами.
Для элементов select и option работа с
атрибутами и значениями имеет свои нюансы.
Получение выбранного значения:
let selected = u('#country').val();
Выбор опции по значению:
u('#country').val('ru');
Для установки атрибута selected конкретного
option используется:
u('#country option[value="us"]').attr('selected', true);
Umbrella автоматически синхронизирует значение select с
выбранной опцией.
Атрибуты формы, такие как action, method,
enctype, также управляются через attr():
u('#loginForm').attr({
action: '/submit',
method: 'post',
enctype: 'multipart/form-data'
});
Эта возможность полезна при динамическом изменении поведения формы без необходимости переписывать HTML.
Ключевые методы для работы с атрибутами форм в Umbrella JS:
| Метод | Назначение |
|---|---|
attr(name) |
Получение значения атрибута |
attr(name, value) |
Установка атрибута |
attr({obj}) |
Массовая установка атрибутов |
removeAttr(name) |
Удаление атрибута |
prop(name, value) |
Установка свойства DOM-элемента |
val() |
Получение значения поля формы |
val(value) |
Установка значения поля |
hasAttr(name) |
Проверка наличия атрибута |
Использование этих методов позволяет гибко управлять формами, облегчает валидацию, динамическое обновление элементов и интеграцию с серверной частью.