บทนี้อธิบายชนิด (type) ต่าง ๆ ของแท็ก <input> ใน HTML
รายการชนิดของ <input>
คุณสามารถใช้ชนิดต่อไปนี้ใน HTML ได้:
<input type="button"><input type="checkbox"><input type="color"><input type="date"><input type="datetime-local"><input type="email"><input type="file"><input type="hidden"><input type="image"><input type="month"><input type="number"><input type="password"><input type="radio"><input type="range"><input type="reset"><input type="search"><input type="submit"><input type="tel"><input type="text"><input type="time"><input type="url"><input type="week">
📝 เคล็ดลับ
ค่าเริ่มต้นของแอตทริบิวต์
type คือ "text"
Input Type text
<input type="text"> สร้างช่องกรอกข้อความแบบบรรทัดเดียว
Input Type password
<input type="password"> สร้างช่องกรอกรหัสผ่าน
ตัวอักษรในช่องรหัสผ่านจะถูกปิดบัง (แสดงเป็นดอกจันหรือวงกลม)
Input Type submit
<input type="submit"> สร้างปุ่มสำหรับส่งข้อมูลฟอร์มไปยัง form-handler ปลายทาง (form-handler) ระบุด้วยแอตทริบิวต์ action ของ <form>
ถ้าไม่ใส่ value ปุ่มจะใช้ข้อความเริ่มต้นอัตโนมัติ:
Input Type reset
<input type="reset"> สร้างปุ่มรีเซ็ต เพื่อคืนค่าฟอร์มทั้งหมดเป็นค่าเริ่มต้น
Input Type radio
<input type="radio"> สร้างปุ่มตัวเลือก ให้ผู้ใช้เลือก ได้เพียงหนึ่ง ตัวเลือกภายในกลุ่มเดียวกัน (ระบุด้วย name เดียวกัน)
Input Type checkbox
<input type="checkbox"> สร้างช่องเลือก ให้ผู้ใช้เลือกได้ ศูนย์ตัว หรือหลายตัวเลือก
Input Type button
<input type="button"> สร้างปุ่มทั่วไป (ต้องผูกพฤติกรรมด้วย JS เอง)
Input Type color
<input type="color"> ใช้สำหรับเลือกสี (จะแสดง color picker หากเบราว์เซอร์รองรับ)
Input Type date
<input type="date"> ใช้เลือกวันที่ (มี date picker หากรองรับ)
สามารถกำหนดช่วงด้วย
min และ max
Input Type datetime-local
<input type="datetime-local"> ใช้เลือกวันที่และเวลา โดยไม่มีเขตเวลา
Input Type email
<input type="email"> ใช้รับอีเมล (บางเบราว์เซอร์ตรวจสอบรูปแบบอัตโนมัติเมื่อส่ง)
สมาร์ตโฟนบางรุ่นจะปรับคีย์บอร์ดให้เหมาะกับการพิมพ์อีเมล
Input Type image
<input type="image"> ใช้ภาพเป็นปุ่มส่งฟอร์ม
ระบุพาธภาพใน src
Input Type file
<input type="file"> สร้างช่องเลือกไฟล์และปุ่ม “Browse/Choose File” สำหรับอัปโหลด
Input Type hidden
<input type="hidden"> สร้างฟิลด์ที่ไม่แสดงให้ผู้ใช้เห็น
มักใช้เก็บข้อมูลที่ต้องส่งไปด้วยตอน submit (เช่น ไอดีเรกคอร์ด)
ค่าของ hidden ไม่แสดงบนหน้าแต่สามารถดูหรือแก้ไขได้ผ่าน DevTools หรือ View Source จึงไม่ควรใช้เพื่อความปลอดภัย
Input Type month
<input type="month"> ใช้เลือก “เดือนและปี”
Input Type number
<input type="number"> ใช้รับตัวเลข กำหนดข้อจำกัดได้ เช่น min, max, step
ตัวอย่าง (1–5):
ข้อจำกัดของช่องกรอกข้อมูล
ด้านล่างนี้คือรายการแอตทริบิวต์ทั่วไปที่ใช้กำหนดข้อจำกัดให้กับ
<input>: checkedทำให้ถูกเลือกไว้ล่วงหน้า (ใช้กับcheckbox/radio)disabledปิดการใช้งานช่องกรอกข้อมูลmaxค่าสูงสุดmaxlengthจำนวนอักขระสูงสุดminจำนวนค่าต่ำสุดpatternตรวจสอบค่าด้วยRegexreadonlyอ่านได้อย่างเดียวrequiredบังคับให้กรอกsizeความกว้างของช่อง (หน่วยเป็นจำนวนตัวอักษร)stepระยะห่างของค่าvalueค่าเริ่มต้น
ตัวอย่าง (0–100, step 10, ค่าเริ่มต้น 30):
Input Type range
<input type="range"> สร้างตัวเลื่อนสำหรับเลือกค่าประมาณ (ค่าแน่นอนไม่สำคัญ)
ค่าเริ่มต้นช่วงคือ 0–100 และปรับได้ด้วย min, max, step
Input Type search
<input type="search"> ใช้สำหรับช่องค้นหา (พฤติกรรมคล้าย text)
Input Type tel
<input type="tel"> ใช้รับเบอร์โทรศัพท์
มักใช้ร่วมกับ pattern เพื่อกำหนดรูปแบบ
Input Type time
<input type="time"> ใช้เลือกเวลา (ไม่มีเขตเวลา) ขึ้นอยู่กับเบราว์เซอร์ว่ารองรับการใส่ข้อมูล time หรือไม่
Input Type url
<input type="url"> ใช้รับที่อยู่ URL (บางเบราว์เซอร์ตรวจสอบรูปแบบตอนส่ง)
สมาร์ตโฟนบางรุ่นจะเพิ่มปุ่ม “.com” บนคีย์บอร์ด
Input Type week
<input type="week"> ใช้เลือก “สัปดาห์และปี” ทั้งนี้ก็ขึ้นอยู่กับเบราว์เซอร์ว่าจะรองรับการใช่งานฟิลด์นี้หรือไม่