HTML: مرجع أنواع الإدخال في HTML

سمة type للعنصر <input> تحدد مظهر وسلوك حقل الإدخال. يوفر HTML أكثر من 20 نوع إدخال تغطي النص والأرقام والتواريخ والاختيار والأزرار والسيناريوهات الأخرى.

1. أنواع إدخال النص

تُستخدم أنواع إدخال النص لجمع أشكال مختلفة من المعلومات النصية:

▶ مثال

HTML
<form>
<label>اسم المستخدم: <input type="text" name="username" placeholder="أدخل اسم المستخدم"></label><br>
<label>كلمة المرور: <input type="password" name="password" placeholder="6 أحرف على الأقل"></label><br>
<label>البريد الإلكتروني: <input type="email" name="email" placeholder="you@example.com"></label><br>
<label>الهاتف: <input type="tel" name="phone" placeholder="0555555555"></label><br>
<label>الموقع: <input type="url" name="website" placeholder="https://"></label><br>
<label>بحث: <input type="search" name="q" placeholder="كلمات البحث"></label>
</form>
▶ جرّب الكود

2. أنواع إدخال الأرقام

تتيح أنواع إدخال الأرقام للمستخدمين تحديد أو إدخال قيم رقمية وقيم ألوان:

HTML
<form>
### ▶ مثال
<label>الكمية (1-10): <input type="number" name="qty" min="1" max="10" value="1"></label><br>
<label>مستوى الصوت: <input type="range" name="volume" min="0" max="100" value="50"></label><br>
<label>لون السمة: <input type="color" name="theme" value="#ff6600"></label>
</form>

<!-- مزامنة range و number (تتطلب JS) -->
<input type="range" id="slider" min="0" max="100" value="50">
<input type="number" id="numDisplay" min="0" max="100" value="50">
<script>
const slider = document.getElementById('slider');
const num = document.getElementById('numDisplay');
slider.addEventListener('input', () => num.value = slider.value);
num.addEventListener('input', () => slider.value = num.value);
</script>

3. أنواع إدخال التاريخ والوقت

تتيح أنواع إدخال التاريخ والوقت للمستخدمين اختيار التواريخ بسرعة من خلال تقويم أو منتقي وقت:

HTML
<form>
<label>التاريخ: <input type="date" name="date"></label><br>
<label>الوقت: <input type="time" name="time"></label><br>
### ▶ مثال
<label>التاريخ + الوقت: <input type="datetime-local" name="datetime"></label><br>
<label>الشهر: <input type="month" name="month"></label><br>
<label>الأسبوع: <input type="week" name="week"></label>
</form>

4. أنواع إدخال الاختيار

تتيح أنواع إدخال الاختيار للمستخدمين الاختيار من عدة خيارات:

HTML
<form>
<p>الهوايات (اختيارات متعددة):</p>
<label><input type="checkbox" name="hobby" value="reading"> قراءة</label>
<label><input type="checkbox" name="hobby" value="music"> موسيقى</label>
<label><input type="checkbox" name="hobby" value="sports"> رياضة</label>
### ▶ مثال

<p>الجنس (اختيار واحد):</p>
<label><input type="radio" name="gender" value="male"> ذكر</label>
<label><input type="radio" name="gender" value="female"> أنثى</label>

<p>رفع صورة شخصية (صور فقط):</p>
<input type="file" name="avatar" accept="image/png, image/jpeg, image/gif">
</form>

5. أنواع إدخال الأزرار

تُستخدم أنواع إدخال الأزرار لتفعيل إجراءات النموذج:

HTML
<form action="/submit" method="post">
<label>الاسم: <input type="text" name="name"></label><br>

<!-- زر إرسال -->
<input type="submit" value="إرسال النموذج">

<!-- زر إعادة تعيين -->
### ▶ مثال
<input type="reset" value="إعادة تعيين">

<!-- زر عام -->
<input type="button" value="انقرني" onclick="alert('مرحباً!')">

<!-- زر صورة -->
<input type="image" src="btn-submit.png" alt="إرسال">
</form>

6. الإدخالات المخفية والخاصة

حقول type="hidden" لا تظهر على الصفحة لكنها تُرسل مع النموذج. تُستخدم عادةً لتمرير البيانات الوصفية مثل معرفات المستخدمين ورموز CSRF:

HTML
<form action="/update-profile" method="post">
<!-- غير مرئي للمستخدمين، لكن يُرسل مع النموذج -->
<input type="hidden" name="user_id" value="12345">
<input type="hidden" name="token" value="abc123xyz">

<label>الاسم المستعار: <input type="text" name="nickname"></label>
<input type="submit" value="حفظ">
</form>

▶ مثال

💡 ملاحظة: تُستخدم الإدخالات المخفية عادةً لتمرير معرفات المستخدمين والرموز والبيانات الأخرى التي لا يحتاج المستخدمون لرؤيتها. ومع ذلك، هذه البيانات لا تزال مرئية للمستخدمين (عرض الكود المصدري). لذلك، لا تستخدم الحقول المخفية أبدًا لتخزين معلومات حساسة — يجب أن يتم التحقق الأمني الحقيقي من جانب الخادم.


7. جدول مرجعي كامل لأنواع الإدخال

النوعالوصفالسمات الشائعةtextنص سطر واحدplaceholder, maxlength, patternpasswordكلمة المرور (عرض مخفي)placeholder, maxlengthemailعنوان بريد إلكترونيplaceholder, multipletelرقم هاتفplaceholder, patternurlURL / عنوان ويبplaceholdersearchمربع بحثplaceholdernumberإدخال رقميmin, max, steprangeمنزلق نطاقmin, max, stepcolorمنتقي ألوان—dateمنتقي تاريخmin, max, steptimeمنتقي وقتmin, max, stepdatetime-localتاريخ + وقت محليmin, maxmonthمنتقي شهرmin, maxweekمنتقي أسبوعmin, maxcheckboxخانة اختيار (اختيار متعدد)checkedradioزر اختيارcheckedfileرفع ملفaccept, multiplesubmitزر إرسالvalue, formactionresetزر إعادة تعيينvaluebuttonزر عامvalue, onclickimageزر صورةsrc, althiddenحقل مخفيvalue

❓ أسئلة شائعة

س لماذا استخدام email و tel و url بدلاً من text فقط؟
ج أنواع الإدخال الدلالية توفر ثلاث فوائد: 1) تعرض الأجهزة المحمولة لوحات مفاتيح مناسبة للسياق (email تعرض رمز @، tel تعرض لوحة مفاتيح رقمية);2) تتحقق المتصفحات من التنسيق تلقائيًا (مثل email يجب أن يحتوي على @);3) تخبر قارئات الشاشة المستخدمين "هذا حقل بريد إلكتروني"، مما يحسن إمكانية الوصول. على الرغم من أن text سيعمل، فإن استخدام النوع الصحيح يوفر تجربة مستخدم أفضل.
س ماذا عن عدم اتساق نوع date بين المتصفحات؟
ج هذه مشكلة معروفة منتقيات التاريخ HTML5 — كل من Chrome و Firefox و Safari لديها واجهات مختلفة. الحلول: 1) اقبل الاختلافات واعتمد على تجربة المتصفح الأصلية;2) استخدم مكتبة تاريخ JavaScript (مثل flatpickr) لواجهة موحدة;3) استخدم نوع text مع تحقق JavaScript للتخصيص الكامل. التوصية: إذا كان التصميم يتطلب الاتساق، استخدم الخيار 2 أو 3;للتجربة الأصلية، استخدم الخيار 1.
س ما الفرق بين number و range؟ متى أستخدم كل منهما؟
ج number لإدخال قيمة رقمية دقيقة — يمكن للمستخدم إدخال قيم مثالية، مناسب للكميات والأعمار والأسعار. range هو منزلق — ينزلق المستخدم فقط ضمن نطاق، مناسب للحجم والسطوع والتقييمات حيث الدقة ليست حرجة. كلاهما يدعم min و max و step لتقييد النطاق. النمط الشائع: استخدم range للتعديل الخشن، number للتعديل الدقيق، واربطهما معًا.
س هل نوع hidden آمن؟ هل يمكن للمستخدمين رؤيته؟
ج مدخلات hidden لا تظهر على الصفحة، لكن يمكن للمستخدمين رؤية قيمها عبر "عرض المصدر" أو DevTools. لا تخزن أبدًا كلمات المرور أو مفاتيح API أو المعلومات الحساسة في hidden. استخدامها الصحيح هوتمرير البيانات الوصفية مثل معرفات المستخدم ورموز CSRF ومعرفات الجلسة. مبدأ الأمان: لا تثق أبدًا ببيانات جانب العميل — يجب أن يحدث التحقق الأمني الحقيقي على الخادم.

📖 ملخص

📝 تمارين

  1. نموذج تسجيل: أنشئ نموذج "اشتراك" يحتوي على 5+ أنواع إدخال: text (اسم المستخدم)، email، password، date (تاريخ الميلاد)، radio (الجنس)، checkbox (الهوايات)، file (رفع صورة)، submit، و reset.
  2. مزامنة المنزلق: أنشئ منزلق نطاق وإدخال رقمي يزامنان قيمهما في الوقت الفعلي. النطاق: 0-100، الخطوة: 5.
Web-Tutorial.com

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

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

100%