Auf meinem Hauptcomputer mit Ubuntu 18.04 und Chrome 78 funktioniert dieses Formular wie erwartet - jedes Formular kann einzeln ausgefüllt werden.
form {
border: solid 1px black;
padding: 1em;
display: inline-block;
}
form input {
display: block;
}
<form>
<label> name<input type = "text" name ="name" /> </label>
<label> phone<input type = "text" name ="phone" /> </label>
<label> email<input type = "text" name ="email" /> </label>
<button type="submit"> submit</button>
</form>
<form>
<label> name <input type = "text" name ="name"/> </label>
<label> phone<input type = "text" name ="phone" /> </label>
<label> email <input type = "text" name ="email"/> </label>
<button type="submit"> submit</button>
</form>
Bei Chrome 81 auf einem Windows-Computer wird beim Auswählen der automatischen Ausfüllung im zweiten Formular auch das erste Formular ausgefüllt.
Ist dies ein Fehler oder ein korrektes Verhalten beim automatischen Ausfüllen?
Wenn ja, gibt es einen Bug-Tracker, in dem dies dokumentiert ist?
google-chrome
auto-form-fill
user1068446
quelle
quelle
name
in beiden Formularen dasselbe . Geben Sie den Feldern zur Unterscheidung in den einzelnen Formularen unterschiedliche Namen.Antworten:
Die benannten Felder in einem HTML-Formular werden vom Browser im Benutzerprofil mit ihren Werten gespeichert und können über den Mechanismus des automatischen Ausfüllens in anderen Formularen wiederverwendet werden. Ein Feld mit demselben Namen wird dann global auf dieser Website und allen anderen Websites verwendet, die Felder mit demselben Namen haben.
Im Chromium-Artikel von Form Autofill ist dies an der Struktur der SQLite-Datenbanktabelle zu erkennen, in der diese Werte als Paare gespeichert sind. Die Tabellenspalten lauten: pair_id, name, value, count . Hier ist zu sehen, dass die ursprüngliche Website und die ursprüngliche Seiten-URL hier nicht erscheinen und keine Bedeutung haben.
Sie haben Standardnamen für die Formularfelder verwendet, die in verschiedenen Standards enthalten sind: Name, Telefon, E-Mail . Einige Browser erlauben es sogar, Werte für sie in die Profildefinition einzugeben, die der Browser dann automatisch für alle Formulare unter Verwendung dieser Standardfeldnamen ausfüllt. Der Browser speichert alle Feldwerte, nicht nur die mit bekannten Namen.
Sie haben zweimal dieselben Namen verwendet, die der Browser in Ihrem Profil speichert, um sie erneut zu verwenden. Beim automatischen Ausfüllen wird nur einer der Werte verwendet, die Sie für gleichnamige Felder eingegeben haben, basierend auf den internen Algorithmen, z. B. dem zuletzt eingegebenen oder dem am häufigsten verwendeten. In der Tat haben Sie erklärt, dass die Werte in beiden Formen der Felder identisch gemacht werden sollen, was der Browser durch automatisches Ausfüllen dann mit den gleichen Werten angefordert hat.
Es gibt andere bekannte Varianten der von Ihnen verwendeten Feldnamen. Neben dem von Ihnen verwendeten Namen existieren beispielsweise fname , mname und lname für Vor-, Mittel- und Nachnamen.
In HTML5 wurde der Formularstandard um das
autocomplete
Tag-Attribut erweitert, mit dem beispielsweise die geschäftlichen und privaten Telefonnummern unterschieden werden können. Zum Beispiel:Nützliche Hinweise:
quelle