Code Lab е в разработка. Постепенно добавяме нови уроци и подобрения. Прогресът може да бъде изтрит.
Зареждане…
Code Lab е в разработка. Постепенно добавяме нови уроци и подобрения. Прогресът може да бъде изтрит.
Зареждане…
Code Lab е в разработка. Постепенно добавяме нови уроци и подобрения. Прогресът може да бъде изтрит.
JAVASCRIPT FORMS / CHAPTER 05 / Учене / LESSON 04
Теория. new FormData(form) събира всички полета на формата, които имат name. Не е нужно да търсиш всяко поле поотделно: data.get("name") връща стойност (низ) или null.
Важно правило: неотбелязан checkbox НЕ влиза във FormData изобщо — ключът липсва. Затова data.get("paid") е null, а не "false". Бутонът за изпращане без name също не влиза.
Малки примери:
const data = new FormData(form); const name = data.get("name"); const rows = []; for (const [key, value] of data.entries()) rows.push(key + "=" + value); const text = rows.join(";");
Подредбата следва реда на полетата в DOM. Полета без name (само id) не се виждат във FormData.
Честа грешка: да търсиш id вместо name; да очакваш false за неотбелязан checkbox; да четеш FormData извън submit/клик слушател.
<form id="f"><input id="name" name="name" type="text"><input id="amount" name="amount" type="text"><label><input id="paid" name="paid" type="checkbox" value="yes"> Paid</label><button type="submit">Save</button></form><p id="out"></p>FormData събира полетата с name; неотбелязан checkbox липсва изцяло.
Натисни Run — HTML се зарежда в sandbox iframe; Stop маха iframe-а (спира и безкраен цикъл).
›