什么会导致Chrome自动填充停止工作?

Chr*_*ris 12 html5 google-chrome

我有一个使用HTML5的新网站.一切都有效,除了LESS样式表和Facebook标签.但是,Chrome无法正常自动填充.如果我在名字字段中键入'chr',我会在其下方输入标准的自动填充,但突出显示,单击或以其他方式选择自动填充选项并不能完成表单.自动填充下拉列表只是消失了.

我猜我的HTML中有一些东西混淆了自动填充代码,但我似乎无法在网上找到有关Chrome自动填充实现的信息,以及当它无效时需要查找的内容.

编辑:我知道Autofill工作正常,因为它适用于其他网站,甚至我们开发的其他网站.它必须是这个网站上的HTML特有的东西.

小智 17

如果以异步方式提交表单,Chrome将不会保存密码或自动填充数据.例如,如果您提交以下表单,Chrome会提示您保存密码:

<form action="/signin">
    <input type="text" name="email" />
    <input type="password" name="password" />
    <button type="submit">Sign In</button>
</form>
Run Code Online (Sandbox Code Playgroud)

但是,如果绑定到submit事件并覆盖默认行为,则不会出现提示,并且不会保存自动完成数据:

$(function(){
    $('form').submit(function(e){
        e.preventDefault();
        $.post($(this).attr('action'), $(this).serialize());
    });
});
Run Code Online (Sandbox Code Playgroud)

测试在20.0


小智 7

Chrome似乎只支持使用POST方法自动填充表单.这可能是最新版本的安全更新.

如果你这样做,自动填充功能将起作用:

<form id="myForm" action="?go" method="post">

如果省略方法或设置为获取它将无法工作:

<form id="myForm" action="?go" method="get">

<form id="myForm" action="?go">