AGGIORNAMENTO per il 2017: sembra che la risposta di Katie abbia informazioni più aggiornate della mia. Lettori futuri: dai il tuo voto positivo alla sua risposta .
Questa è una grande domanda e una per la quale la documentazione è sorprendentemente difficile da trovare. In realtà, in molti casi scoprirai che la funzionalità di compilazione automatica di Chrome "funziona". Ad esempio, il seguente frammento di HTML produce un modulo che, almeno per me (Chrome v. 18), viene automaticamente compilato dopo aver fatto clic nel primo campo:
<!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>
Tuttavia, questa risposta è insoddisfacente, in quanto lascia la soluzione nel regno della "magia". Scavando più a fondo ho appreso che Chrome (e altri browser abilitati al riempimento automatico) si basano principalmente su indizi contestuali per determinare il tipo di dati che dovrebbero essere compilati negli elementi del modulo. Esempi di tali indizi contestuali includono ilname
di un elemento di input, il testo che circonda l'elemento e qualsiasi testo segnaposto.
Di recente, tuttavia, il team di Chrome ha riconosciuto che si tratta di una soluzione insoddisfacente e ha iniziato a sollecitare la standardizzazione in materia. Un post molto istruttivo del gruppo Google Webmasters ha recentemente discusso questo problema, spiegando:
Sfortunatamente, finora è stato difficile per i webmaster garantire che Chrome e altri fornitori di moduli possano analizzare correttamente il loro modulo. Esistono alcuni standard; ma gravano onerosamente sull'implementazione del sito Web, quindi in pratica non vengono utilizzati molto.
(Gli "standard" a cui fanno riferimento sono una versione più recente delle specifiche menzionate nella risposta di Avalanchis sopra).
Il post di Google continua descrivendo la soluzione proposta (che viene soddisfatta da critiche significative nei commenti del post). Propongono l'uso di un nuovo attributo a questo scopo:
Basta aggiungere un attributo all'elemento di input, ad esempio un campo dell'indirizzo e-mail potrebbe apparire come:
<input type=”text” name=”field1” x-autocompletetype=”email” />
... dove x-
sta per "sperimentale" e verrà rimosso se e quando questo diventerà uno standard. Leggi il post per maggiori dettagli, o se vuoi approfondire, troverai una spiegazione più completa della proposta sul wiki di whatwg .
AGGIORNAMENTO:
Come indicato in queste risposte perspicaci , è possibile trovare tutte le espressioni regolari utilizzate da Chrome per identificare / riconoscere i campi comuni . Quindi, per rispondere alla domanda originale, assicurati solo che i nomi dei tuoi campi html corrispondano a queste espressioni. Alcuni esempi includono:autofill_regex_constants.cc.utf8
- nome di battesimo:
"first.*name|initials|fname|first$"
- cognome:
"last.*name|lname|surname|last$|secondname|family.*name"
- e-mail:
"e.?mail"
- Indirizzo Linea 1):
"address.*line|address1|addr1|street"
- Cap:
"zip|postal|post.*code|pcode|^1z$"