อัปเดตสำหรับปี 2017: ดูเหมือนว่าคำตอบจาก Katie จะมีข้อมูลที่ทันสมัยกว่าของฉัน ผู้อ่านในอนาคต: ให้คะแนนโหวตของคุณกับคำตอบของเธอคำตอบของเธอ
นี่เป็นคำถามที่ยอดเยี่ยมและเป็นเรื่องที่ยากที่จะเข้าใจเอกสาร ที่จริงแล้วในหลายกรณีคุณจะพบว่าฟังก์ชันการป้อนอัตโนมัติของ Chrome "ใช้งานได้" ตัวอย่างเช่นส่วนของ html ต่อไปนี้จะสร้างแบบฟอร์มซึ่งอย่างน้อยสำหรับฉัน (Chrome v. 18) จะถูกกรอกโดยอัตโนมัติหลังจากคลิกในฟิลด์แรก:
<!DOCTYPE html>
<html>
<body>
<form method="post">
First name:<input type="text" name="fname" /><br />
Last name: <input type="text" name="lname" /><br />
E-mail: <input type="text" name="email" /><br />
Phone: <input type="text" name="phone" /><br />
Address: <input type="text" name="address" /><br />
</form>
</body>
</html>
อย่างไรก็ตามคำตอบนี้ไม่เป็นที่น่าพอใจเนื่องจากมันทิ้งคำตอบไว้ในขอบเขตของ "เวทมนตร์" การขุดลึกฉันได้เรียนรู้ว่า Chrome (และเบราว์เซอร์ที่เปิดใช้งานการป้อนอัตโนมัติอื่น ๆ ) ส่วนใหญ่อาศัยเบาะแสบริบทเพื่อกำหนดประเภทของข้อมูลที่ควรกรอกลงในองค์ประกอบของฟอร์ม ตัวอย่างของปมบริบทดังกล่าวรวมถึงname
องค์ประกอบของการป้อนข้อความข้อความโดยรอบองค์ประกอบและข้อความตัวยึดใด ๆ
อย่างไรก็ตามเมื่อเร็ว ๆ นี้ทีม Chrome ยอมรับว่านี่เป็นวิธีที่ไม่น่าพอใจและพวกเขาได้เริ่มกดเพื่อสร้างมาตรฐานในเรื่องนี้ โพสต์ที่ให้ข้อมูลมากจากกลุ่มผู้ดูแลเว็บของ Google เมื่อเร็ว ๆ นี้ได้กล่าวถึงปัญหานี้โดยอธิบาย:
น่าเสียดายที่ตอนนี้เป็นเรื่องยากสำหรับผู้ดูแลเว็บที่จะให้แน่ใจว่า Chrome และผู้ให้บริการกรอกแบบฟอร์มอื่น ๆ สามารถแยกวิเคราะห์ฟอร์มได้อย่างถูกต้อง มีมาตรฐานอยู่บ้าง แต่พวกเขาใช้ภาระที่หนักหน่วงในการติดตั้งเว็บไซต์ดังนั้นพวกเขาจึงไม่ค่อยได้ใช้ประโยชน์เท่าไหร่
("มาตรฐาน" ที่พวกเขาอ้างถึงเป็นverion ล่าสุดของข้อกำหนดที่ระบุไว้ในคำตอบของ Avalanchis ด้านบน)
โพสต์ของ Google ดำเนินการต่อเพื่ออธิบายวิธีแก้ปัญหาที่เสนอ (ซึ่งพบได้จากการวิจารณ์ที่สำคัญในความคิดเห็นของโพสต์) พวกเขาเสนอให้ใช้คุณลักษณะใหม่เพื่อจุดประสงค์นี้:
เพียงเพิ่มแอตทริบิวต์ให้กับองค์ประกอบอินพุตตัวอย่างเช่นฟิลด์ที่อยู่อีเมลอาจมีลักษณะดังนี้:
<input type=”text” name=”field1” x-autocompletetype=”email” />
... โดยที่x-
หมายถึง "ทดลอง" และจะถูกลบหาก & เมื่อสิ่งนี้กลายเป็นมาตรฐาน อ่านโพสต์รายละเอียดเพิ่มเติมหรือถ้าคุณต้องการที่จะขุดลึกคุณจะหาคำอธิบายที่สมบูรณ์มากขึ้นของข้อเสนอในวิกิพีเดีย WHATWG
UPDATE:
เป็นแหลมออกในสิ่งเหล่านี้ที่ชาญฉลาด คำตอบที่นิพจน์ทั่วไปทั้งหมดที่ Chrome ใช้เพื่อระบุ / รู้จักฟิลด์ทั่วไปสามารถพบautofill_regex_constants.cc.utf8
ได้ ดังนั้นเพื่อตอบคำถามเดิมเพียงให้แน่ใจว่าชื่อของฟิลด์ html ของคุณตรงกับการแสดงออกเหล่านี้ ตัวอย่างบางส่วน ได้แก่ :
- ชื่อจริง:
"first.*name|initials|fname|first$"
- นามสกุล:
"last.*name|lname|surname|last$|secondname|family.*name"
- อีเมล:
"e.?mail"
- ที่อยู่บรรทัดที่ 1):
"address.*line|address1|addr1|street"
- รหัสไปรษณีย์:
"zip|postal|post.*code|pcode|^1z$"