JavaScript FormData.has() — чи є поле у формі


Метод has() перевіряє, чи є таке поле в FormData.

автор: NagarD

Загальний опис

Тут ховається особливість самих HTML-форм, про яку варто знати: невибраний чекбокс у FormData не потрапляє взагалі. Не з порожнім значенням — його там просто немає.

Тому перевірка «чи погодився користувач» — це саме has('agree'), а не порівняння значення.

автор: NagarD

Нотатка

Невибраний чекбокс відсутній у FormData. Сервер не отримає ані agree=0, ані порожнього значення — не отримає нічого.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
has 7+ 4+ 5+ 12+ 12+ 10+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
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('Треба погодитись з умовами');
}
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід