是否有HTML表单字段的命名约定,以便在所有现代浏览器中实现良好的自动完成?

rob*_*les 11 html forms autocomplete naming-conventions autofill

表单字段是否有命名约定?Chrome,IE,Firefox在哪些领域寻找?我的意思是,一个适合所有人,或者至少是大多数现代浏览器.

我偶然发现:

例如,ECML方法使用这样的名称:

Description               Field name
----------------------------------------------------------
ship to title             Ecom_ShipTo_Postal_Name_Prefix
ship to first name        Ecom_ShipTo_Postal_Name_First
ship to middle name       Ecom_ShipTo_Postal_Name_Middle
ship to last name         Ecom_ShipTo_Postal_Name_Last

user ID                   Ecom_User_ID
user password             Ecom_User_Password
Run Code Online (Sandbox Code Playgroud)

但那些"Ecom _..."表单字段对我来说很奇怪?

我知道仅IE和专有(当然)属性VCARD_NAME="vCard.xyz",但它是一个无效的html属性.

或者是最好的镜头,以最常见的方式编写字段,如@FB建议在表单字段名称中使用个人数据自动填充浏览器(Safari,Opera)


小更新(2015-07-21) - 偶然发现了这个谷歌开发者博客文章,其中提到了自动填充的WHATWG HTML规范:

https://html.spec.whatwg.org/multipage/forms.html#autofill

cit*_*lao 2

您似乎已链接到答案。但是,如果您不使用 CakePHP 或 Ruby on Rails 等高级框架,则第一个和第三个链接不适用。

问题是,成功填写表格是 Google 工具栏和 Wand 的工作。考虑到互联网的范围,工具栏必须有大量的冗余。

因此,只要您将表单字段保持语义命名,表单就应该自动填充。

ECML 是电子商务建模语言。Ecom_简单地代表电子商务。如果您需要出售东西,请使用该命名约定。

  • 嗯。但由于从编码角度来看,字段命名基本上是任意的——它们可以被称为任何东西并且仍然有效——这似乎是拥有“最佳实践”或微格式的理想领域。当然,您*可以*使用任何模糊语义名称作为“电子邮件”字段,以便自动完成工作,但*标准*名称是**xxxx**。这确实有帮助。 (2认同)