2017 için GÜNCELLEME: Katie'nin cevabının benimkinden daha güncel bilgilere sahip olduğu anlaşılıyor. Gelecekteki okuyucular: cevabına oylarınızı verin .
Bu harika bir soru ve belgelerin şaşırtıcı derecede zor olduğu bir sorudur. Aslında, çoğu durumda Chrome Otomatik Doldur işlevinin "sadece işe yaradığını" görürsünüz. Örneğin, aşağıdaki html snippet'i, en azından benim için (Chrome s. 18), ilk alana tıkladıktan sonra otomatik olarak doldurulan bir form oluşturur:
<!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>
Bununla birlikte, çözümü "büyü" alanında bıraktığı için bu cevap tatmin edici değildir. Daha derine inmek Chrome'un (ve diğer otomatik doldurma özellikli tarayıcıların) form öğelerine doldurulması gereken veri türünü belirlemek için öncelikle bağlamsal ipuçlarına dayandığını öğrendim. Bu bağlamsal ipuçlarına örnekler arasındaname
olarak bir girdi öğesinin, öğeyi çevreleyen metnin ve herhangi bir yer tutucu metnin gösterilebilir.
Ancak son zamanlarda, Chrome ekibi bunun tatmin edici olmayan bir çözüm olduğunu kabul etti ve bu konuda standartlaştırma için baskı yapmaya başladılar. Google Web Yöneticileri grubundan çok bilgilendirici bir yayın kısa süre önce bu sorunu tartıştı ve şunları açıkladı:
Ne yazık ki, şimdiye kadar web yöneticilerinin Chrome ve diğer form doldurma sağlayıcılarının formlarını doğru şekilde ayrıştırabilmelerini sağlamak zordu. Bazı standartlar mevcuttur; ancak web sitesinin uygulanmasına ağır yük bindirdiler, bu yüzden pratikte fazla kullanılmıyorlar.
(Söz ettikleri "standartlar", yukarıda Çığ'ın cevabında belirtilen spesifikasyonun daha yeni bir versiyonudur .)
Google postası, önerilen çözümünü (postanın yorumlarında önemli eleştirilerle karşılanmaktadır) açıklamaya devam etmektedir. Bu amaçla yeni bir öznitelik kullanılmasını önerirler:
Girdi öğesine bir özellik eklemeniz yeterlidir, örneğin bir e-posta adresi alanı aşağıdaki gibi olabilir:
<input type=”text” name=”field1” x-autocompletetype=”email” />
... burada x-
"deneysel" anlamına gelir ve bu standart haline gelirse & kaldırılacaktır. Oku yazıyı daha fazla ayrıntı için, ya da daha derine inmemiz istiyorsanız, teklifin daha kapsamlı bir açıklama bulacaksınız whatwg wiki .
GÜNCELLEME:
Bu anlayışlı yanıtlarda belirtildiği gibi , Chrome'un ortak alanları tanımlamak / tanımak için kullandığı tüm normal ifadeler bulunabilir autofill_regex_constants.cc.utf8
. Orijinal soruyu cevaplamak için, html alanlarınızın adlarının bu ifadelerle eşleştiğinden emin olun. Bazı örnekler:
- İsim:
"first.*name|initials|fname|first$"
- Soyadı:
"last.*name|lname|surname|last$|secondname|family.*name"
- eposta:
"e.?mail"
- Adres satırı 1):
"address.*line|address1|addr1|street"
- posta kodu:
"zip|postal|post.*code|pcode|^1z$"