الدرس 6 من 8

النموذج دفعة واحدة

هدف الدرس

كل الحقول في سطر

01

الشرح

قراءة النموذج حقلًا حقلًا تطول مع كل حقل جديد، وتنسى الحقل الذي أُضيف أمس. new FormData(form) يقرأ الحقول كلها دفعة واحدة، وObject.fromEntries يحوّلها كائنًا عاديًّا جاهزًا لـ JSON.stringify وللإرسال.

لكن FormData لا يرى إلا الحقول التي لها name. الحقل بلا اسم يضيع بصمت: لا خطأ ولا تحذير، فقط مفتاح ناقص في الطلب. وكل القيم تصل نصوصًا: الكمية "2" لا 2، و"2" + 1 تعطي "21".

ومستمع input واحد على النموذج يكفي لكل حقوله، لأن الحدث يصعد إليه من أيّ حقل.

02

المطلوب

اكتب readForm(form) تُرجع كائنًا بكل الحقول والكمية فيه رقم، وأصلح الحقل الذي يضيع، واعرض JSON.stringify(readForm(form)) في #out مع كل تعديل.

معايير التصحيح

5 معايير
  1. readForm تقرأ القيم الحالية
  2. البريد لا يضيع
  3. الكمية رقم لا نصّ
  4. حقل جديد يُقرأ بلا تعديل في الكود
  5. العرض يتحدّث مع كل تعديل
index.html
المعاينة
index.html100%
–/5

اضغط «تشغيل» ليبدأ الفحص.

5 معايير في بطاقة «المطلوب».