JavaScript FormData.has() — чи є поле у формі
Метод has() перевіряє, чи є таке поле в FormData.
Загальний опис
Тут ховається особливість самих HTML-форм, про яку варто знати: невибраний чекбокс у FormData не потрапляє взагалі. Не з порожнім значенням — його там просто немає.
Тому перевірка «чи погодився користувач» — це саме has('agree'), а не порівняння значення.
- Нотатка
-
Невибраний чекбокс відсутній у
автор: NagarDFormData. Сервер не отримає аніagree=0, ані порожнього значення — не отримає нічого.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| has | 7+ | 4+ | 5+ | 12+ | 12+ | 10+ |
| Переглядач | ||||
|---|---|---|---|---|
| has | 3+ | yes | yes | 5+ |
Приклади
+ запропонувати свій приклад у пісочниці
Чекбокс: або є, або немає — третього не дано.
HTML
<form id="form">
<label><input type="checkbox" name="agree"> Погоджуюсь</label>
</form>
JS
const data = new FormData(document.getElementById('form'));
// не вибраний — поля НЕМАЄ взагалі
console.log(data.has('agree')); // false
console.log(data.get('agree')); // null
if (!data.has('agree')) {
console.error('Треба погодитись з умовами');
}
Коментарі
Коментарів ще немає — будьте першим!