Menu
flag Ar iconالعربيةdown icon

أنواع input في HTML: كل الأنواع الـ 22 لوسم input

كل أنواع الوسم <input> في HTML في مكان واحد: text وemail وpassword وnumber وrange والتاريخ والوقت وcolor وfile وhidden والبقية، مع ما يتحقق منه كل نوع، ولوحة المفاتيح التي يفتحها على الهواتف، والسمات المشتركة بينها.

تحتوي هذه الصفحة على محررات قابلة للتشغيل - حرّر، شغّل، وشاهد النتيجة فوراً.

الوسم input وأنواعه

<input> حقل في نموذج، وسمته type تحدد نوعه. الوسم نفسه يصنع صندوق نص أو شريط تمرير أو منتقي تاريخ أو منتقي ألوان. جرّب كل حقل أدناه واضغط Submit لترى ما يرسله النموذج:

<input> عنصر فارغ، فليس له وسم إغلاق. name هو المفتاح الذي تُرسل القيمة تحته، وvalue هي القيمة الابتدائية. غياب type أو خطأ في كتابته يعطي حقلًا نصيًا عاديًا.

كل أنواع input في HTML

typeما هوملاحظات
textسطر نص واحدالافتراضي
passwordنص يظهر كنقاطليس مشفرًا بذاته، فأرسله عبر HTTPS
emailعنوان بريد إلكترونييتحقق من الصيغة، ومفتاح @ في لوحات مفاتيح الهواتف
urlعنوان ويبيجب أن يبدأ بمخطط مثل https://
telرقم هاتفلوحة أرقام الهاتف على الجوال، بلا فحص للصيغة
searchصندوق بحثيعرض غالبًا زرًا للمسح
numberرقمأزرار زيادة ونقصان، وmin وmax وstep
rangeشريط تمريرغير دقيق عن قصد، والقيمة رقم
dateتاريخالقيمة YYYY-MM-DD
timeوقت من اليومالقيمة HH:MM (نظام 24 ساعة)
datetime-localتاريخ ووقت بلا منطقة زمنيةالقيمة YYYY-MM-DDTHH:MM
monthسنة وشهرغير مدعوم في كل المتصفحات
weekسنة ورقم أسبوعغير مدعوم في كل المتصفحات
colorمنتقي ألوانالقيمة #rrggbb بأحرف صغيرة
checkboxمربع تشغيل وإيقافراجع مربع الاختيار checkbox
radioخيار واحد من مجموعةراجع زر الاختيار radio
fileمنتقي ملفاتaccept وmultiple
hiddenقيمة تُرسل ولا تظهرللمعرّفات والرموز
submitزر إرسال<button type="submit"> أكثر مرونة
resetزر إعادة ضبطنادرًا ما يكون فكرة جيدة
buttonزر لا يفعل شيئًا بنفسهلـ JavaScript
imageزر إرسال مرسوم كصورةيرسل أيضًا إحداثيات النقرة

الأنواع النصية ولوحات مفاتيح الهواتف

email وurl وtel وsearch وtext كلها تبدو كصندوق نص على الحاسوب. الفرق في التحقق، وعلى الهواتف في لوحة المفاتيح التي تُفتح. الحد في هذا المثال يتحول إلى الأخضر أو الأحمر بحسب حكم المتصفح على القيمة:

  • ada@example بريد صالح في نظر المتصفح: فهو يتحقق فقط من وجود نص و@ ونطاق، لا من احتواء النطاق على نقطة. الفحص الحقيقي يجري على الخادم.
  • example.com ليس url صالحًا لأنه بلا مخطط. أما https://example.com فصالح.
  • tel يقبل أي شيء. صيغ الهواتف تختلف كثيرًا بين الدول، فلا يوجد فحص مدمج، وأضف pattern إن احتجت إلى واحد.
  • inputmode="numeric" تطلب من الهواتف لوحة أرقام من دون مشاكل type="number"، ولهذا فهي الخيار الصحيح للرموز البريدية ورموز التحقق لمرة واحدة وأرقام البطاقات.

number وrange

كلاهما يأخذ min وmax وstep. number للقيم الدقيقة، وrange شريط تمرير للقيم التي لا يهم فيها الرقم الدقيق كثيرًا. شريط range لا يعرض رقمًا، فاقرنه بـ <output>:

القيمة الافتراضية لـ step في number هي 1، لذلك فحقل السعر الذي بلا step="0.01" يرفض 4.99 عند إرسال النموذج. في JavaScript تكون input.value نصًا دائمًا، فاستخدم input.valueAsNumber للحصول على رقم.

التواريخ والأوقات

أنواع التاريخ والوقت تفتح منتقي المتصفح الخاص. ما يراه القارئ يتبع إعداداته المحلية (09/24/2026، 24.09.2026)، لكن القيمة دائمًا بالصيغة الثابتة نفسها:

هذه الصيغة الثابتة هي ما يستقبله الخادم وما تقرؤه JavaScript، فلا تحتاج أبدًا إلى تحليل «24.09.2026». وتأخذ min وmax الصيغة نفسها. datetime-local بلا منطقة زمنية: إن كان ذلك مهمًا، فحوّل على الخادم باستخدام منطقة القارئ.

color وfile

accept="image/*" تحصر منتقي الملفات في الصور (وتعرض الكاميرا على الهواتف)، وتقبل أيضًا الامتدادات مثل accept=".pdf,.docx". هي مجرد تلميح للمنتقي، فافحص نوع الملف على الخادم. وmultiple تسمح بعدة ملفات. والرفع الحقيقي يحتاج أيضًا إلى method="post" وenctype="multipart/form-data" على النموذج.

اقتراحات بـ datalist

<datalist> يعطي حقل النص قائمة اقتراحات مع السماح بأي قيمة. اربطهما بالسمة list:

اكتب «ja» في الحقل لترى الاقتراحات المطابقة. وعلى عكس القائمة المنسدلة select، يستطيع القارئ كتابة قيمة ليست في القائمة.

سمات تعمل على حقول input

السمةوظيفتها
nameالمفتاح الذي تُرسل القيمة تحته
valueالقيمة الابتدائية
placeholderتلميح يظهر ما دام الحقل فارغًا (ليس تسمية)
requiredيجب ملؤه قبل الإرسال
disabledلا يمكن استخدامه، ولا يُرسل
readonlyلا يمكن تحريره، لكنه يُرسل
autocompleteما الذي يُملأ تلقائيًا: email أو name أو current-password أو one-time-code أو off
min, max, stepحدود للأرقام وأشرطة التمرير والتواريخ والأوقات
minlength, maxlengthحدود الطول للأنواع النصية
patternتعبير نمطي يجب أن تطابقه القيمة كاملة
inputmodeأي لوحة مفاتيح تظهر على الهاتف: numeric أو decimal أو email أو tel أو url
listقيمة id لعنصر <datalist>
multipleعدة قيم، لـ email وfile
acceptأنواع الملفات لـ file

أخطاء شائعة

  • type="number" لأرقام الهواتف أو الرموز البريدية أو أرقام البطاقات. هذه ليست كميات. استخدم tel أو text مع inputmode="numeric".
  • حقل سعر بلا step="0.01". القيم العشرية تفشل في التحقق.
  • استخدام placeholder كتسمية. يختفي بمجرد أن يكتب القارئ.
  • الاعتماد على accept أو type="email" للأمان. هي وسائل راحة، والخادم يفحص مجددًا.
  • type="month" أو type="week" بلا بديل. بعض المتصفحات تعرض حقلًا نصيًا عاديًا.
  • وسم إغلاق </input>. <input> عنصر فارغ.

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

كم عدد أنواع input في HTML؟

22 نوعًا: button وcheckbox وcolor وdate وdatetime-local وemail وfile وhidden وimage وmonth وnumber وpassword وradio وrange وreset وsearch وsubmit وtel وtext وtime وurl وweek. النوع المجهول أو الغائب يتصرف كـ text.

ما نوع input الافتراضي في HTML؟

text. العنصر <input> بلا type، أو بنوع لا يعرفه المتصفح، حقل نصي من سطر واحد.

هل أستخدم type="number" لأرقام الهواتف أو الرموز البريدية؟

لا. number للكميات: يضيف أزرار زيادة ونقصان، ويرفض + والمسافات والشرطات التي تحتويها أرقام الهواتف. استخدم type="tel" لأرقام الهواتف، وtype="text" مع inputmode="numeric" للرموز مثل الرموز البريدية وأرقام البطاقات.

ما الصيغة التي يستخدمها input type date؟

القيمة دائمًا YYYY-MM-DD، مثل 2026-09-24، أيًا كانت الصيغة التي يراها القارئ على الشاشة. العرض يتبع إعدادات القارئ المحلية، أما القيمة المرسلة والمقروءة في السكربت فلا.

هل يحتاج وسم input إلى وسم إغلاق؟

لا. <input> عنصر فارغ: اكتب <input type="text" name="city">. وسم الإغلاق </input> غير صالح، والشرطة المائلة في <input /> مسموحة لكنها لا تفعل شيئًا.

Coddy programming languages illustration

تعلّم البرمجة مع Coddy

ابدأ الآن