แอตทริบิวต์ autocomplete ของ <form> คืออะไร?
แอตทริบิวต์ autocomplete ของแท็ก <form> ใช้สำห ควบคุมฟีเจอร์ Autocomplete ของเบราวเซอร์** สำหรับฟอร์มทั้งหมด (On/Off) เบราวเซอร์จะจดจำค่าที่ผู้ใช้กรอกไว้ และเสนอให้เลือกเมื่อกรอกครั้งต่อไป
ไวยากรณ์ (Syntax)
<form autocomplete="on | off">
ค่า
on(ค่าเริ่มต้น): เปิดใช้งาน Autocomplete เบราวเซอร์เสนอค่าที่เคยกรอกoff: ปิด Autocomplete เบราวเซอร์ไม่เสนอ/จดจำค่า
ตัวอย่างการใช้งาน
<!DOCTYPE html>
<html>
<body>
<h2>บันทึกคะแนน</h2>
<form action="" method="get" autocomplete="on">
ผู้เล่น: <input type="text" name="player"><br>
อันดับ: <input type="number" name="rank"><br>
คะแนน: <input type="number" name="points"><br>
<button type="submit">บันทึก</button>
</form>
</body>
</html>
การทำงาน
- ผู้ใช้กรอกฟอร์มและ Submit ครั้งแรก
- เบราวเซอร์จดจำค่า (ขึ้นอยู่กับการตั้งค่าผู้ใช้)
- ครั้งต่อไปที่โหลดฟอร์มเดียวกัน/ช่องเดียวกัน → เบราวเซอร์แสดง Dropdown เสนอค่าเก่า
- ผู้ใช้เลือก → ช่องกรอกเติมค่าอัตโนมัติ
Autocomplete บน Input เดียว (Override Form)
<form autocomplete="on"> <input name="username" autocomplete="on"> <-- ใช้ค่า Form (on) <input name="password" autocomplete="off"> <-- ปิดเฉพาะช่องรหัสผ่าน <input name="credit-card" autocomplete="cc-number"> <-- ระบุประเภทข้อมูลเฉพาะ </form>
ค่า autocomplete เฉพาะเจาะจง (HTML5.1+)
| ค่า | ความหมาย |
|---|---|
| name | ชื่อเต็ม |
| อีเมล | |
| username | ชื่อผู้ใช้ |
| current-password | รหัสผ่านปัจจุบัน |
| new-password | รหัสผ่านใหม่ (สำหรับเปลี่ยนรหัส) |
| cc-number | เลขบัตรเครดิต |
| cc-exp | วันหมดอายุบัตร |
| cc-csc | รหัส CVV |
| tel | เบอร์โทรศัพท์ |
| address-line1 | ที่อยู่บรรทัด 1 |
| bday | วันเกิด |
จุดสำคัญ
autocomplete="off"บน <form> ปิดให้ทุกช่องในฟอร์ม- บางเบราวเซอร์ (Chrome) อาจละเลย
offสำหรับ Password Manager - ใช้
autocomplete="new-password"สำหรับช่องตั้งรหัสผ่านใหม่ - ค่าเฉพาะเจาะจง (cc-number, email, ฯลฯ) ช่วย Password Manager ทำงานแม่นยำขึ้น