启用浏览器的表单自动填充

时间:2012-01-03 16:05:28

标签: html forms google-chrome

我正在为我的网站制作注册表格。它包含各种标准表单字段。如:姓名,地址,电话号码,用户名,密码等。

当我双击字段(在Chrome 16中)时,我可以自动填充我的地址,我收到此消息:

  

此网页已禁用此表单的自动填写。

我没有禁用它,所以如何启用它?我尝试将autocomplete="on"添加到<form>代码和<input>代码中的某些代码,但这并没有帮助。

我是否需要在每个字段中添加autocomplete="on"?此外,浏览器如何知道哪个字段是什么?我是否需要将字段命名为特殊字段?

另一个问题:当表单自动填充时是否会触发某种onautocomplete事件?在我的表单上,当您输入邮政编码时,它会在我们的数据库中查找(通过AJAX)然后获取州和城市(城市和州是下拉列表,因为邮政编码可以用于多个城市),并填写它们为了你。我希望在表单自动填充后我可以运行。

P.S。我正在使用jQuery form validation插件,如果重要的话。

2 个答案:

答案 0 :(得分:72)

问题是表单标记上没有method="POST"

在Google上搜索邮件后,我找到了bug report,其中一个comments提到了method="POST"

我添加了method="POST",瞧!自动填充功能。

在某些情况下,如果表单没有action,您可能还需要添加action="javascript:void(0)"onchange有效。

注意:自动填充似乎会触发{{1}}事件。

注2:关于浏览器如何知道哪个字段是什么,请参阅此问题:How to trigger Autofill in Google Chrome?

答案 1 :(得分:3)

关闭自动填充功能的选项通常位于表单标记中,请参阅Mozilla here的“开发人员”页面。这应该意味着通常删除该属性应该在网页上再次启用它。

关于带有AJAX请求的第二部分,我不认为有一个监听器,但你可以添加一个函数来检查每个x秒的字段值,例如,如果它改变了你可以执行你的查找。