我正在为我的网站制作注册表格。它包含各种标准表单字段。如:姓名,地址,电话号码,用户名,密码等。
当我双击字段(在Chrome 16中)时,我可以自动填充我的地址,我收到此消息:
此网页已禁用此表单的自动填写。
我没有禁用它,所以如何启用它?我尝试将autocomplete="on"
添加到<form>
代码和<input>
代码中的某些代码,但这并没有帮助。
我是否需要在每个字段中添加autocomplete="on"
?此外,浏览器如何知道哪个字段是什么?我是否需要将字段命名为特殊字段?
另一个问题:当表单自动填充时是否会触发某种onautocomplete
事件?在我的表单上,当您输入邮政编码时,它会在我们的数据库中查找(通过AJAX)然后获取州和城市(城市和州是下拉列表,因为邮政编码可以用于多个城市),并填写它们为了你。我希望在表单自动填充后我可以运行。
P.S。我正在使用jQuery form validation插件,如果重要的话。
答案 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秒的字段值,例如,如果它改变了你可以执行你的查找。