<form>: عنصر FORM

آخر تحديث: 2026-10-13

<form>عنصر FORM

عنصر <form> هو حاوية جمع بيانات المستخدم وإرسالها. يغلف عناصر التحكم (<input> و<select> و<textarea>...)، مع action لرابط الإرسال وmethod لطريقة HTTP.

الفئةالنماذج
نموذج المحتوىمحتوى تدفقي (بدون <form> متداخل)
العناصر الأم المسموحةأي عنصر يقبل المحتوى التدفقي
وسم الإغلاقنعم — يتطلب إغلاق </form> وسم
الحالةقياسي

📝 البنية

<form action="رابط-الإرسال" method="post">
  عناصر التحكم
  <input type="submit" value="إرسال">
</form>

⚙️ السمات

يدعم هذا العنصر السمات العامة بالإضافة إلى ما يلي:

السمةالقيمةالوصف
actionURLThe URL where form data is submitted.

الافتراضي: 当前页 URL

methodKeywordThe HTTP method used to submit.
  • get — Data appended to the URL query string (default).
  • post — Data sent in the request body.
nameTextForm name for JavaScript reference.
autocompleteKeywordWhether browser autofill is enabled.
  • on — Enable autofill (default).
  • off — Disable autofill.
novalidateBooleanSkip HTML5 form validation on submit.
targetKeywordWhere to display the submission result.

الافتراضي: _self

▶ مثال

عدّل الكود أدناه وشاهد النتيجة المباشرة في الملعب:

🌐 دعم المتصفح

المتصفح ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
<form> ✓ v1 ✓ v12 ✓ v1 ✓ v1 ✓ v1
مدعوم في جميع المتصفحات الرئيسية
نصيحة: اقرن عناصر التحكم بـ <label> لإمكانية وصول أفضل ومنطقة نقر أكبر.

❓ الأسئلة الشائعة

Qأيهما تختار لـ method: get أم post؟
AGET يلحم البيانات على URL — قابل للإضافة للمفضلة ومحدود الطول — ويناسب البحث والتصفية والعمليات القرائية فقط؛ بينما POST يضع البيانات في جسم الطلب ويناسب التسجيل وتسجيل الدخول والدفع وسائر العمليات المعدِّلة للبيانات. وكلمات المرور والمعلومات الحساسة POST بلا استثناء.
Qهل يجب أن يضم form زر submit؟
Aليس بالضرورة. فالضغط على Enter يرسل في معظم المتصفحات نموذجًا بحقل واحد؛ ويمكن استدعاء form.requestSubmit() أو form.submit() عبر JS. لكن من أجل الاستخدام والوصولية يظل زر الإرسال الصريح أفضل الممارسات.
Qهل يمكن إغفال سمة action؟
Aنعم، وإغفالها يرسل إلى عنوان URL للصفحة الحالية (سلوك HTML5). وفي تطبيقات الصفحة الواحدة يصاحب form غالبًا preventDefault() لاعتراض الإرسال الافتراضي وإرسال البيانات بـ fetch — فالاعتراض ينجح سواء كُتبت action أم لا.

📚 دروس ذات صلة

Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%