我在Chrome的html5自动完成功能上挣扎了一段时间。我有一个这样的表格
<form>
<input name='myname' type='email' autocomplete='on' />
<input type='submit' value='Submit!' onclick='transform_and_post_data();return false;'/>
</form>
使用Firefox并返回此表单时,自动完成功能正常。但不是Chrome(至少版本26到30)。我终于发现,只有在调用表单的GET或POST默认操作时才会执行表单的自动完成保存(此处由返回false阻止)。所以我找到了解决方法,在某些情况下修复它:
<form method='post' action='myaction'>
<input name='myname' type='email' autocomplete='on' />
<input type='submit' value='Submit!' onclick='transform_data();'/>
</form>
只要我不需要通过XhttpRequest发布表单数据,这就可以正常工作。有没有人知道使用XHR制作Chrome自动填充表单的技巧?
这是Chrome的已知错误吗? (因为Firefox按预期工作)
注意:autocomplete ='on'应该没用,因为它是输入的默认行为
答案 0 :(得分:7)
Chrome只会保存提交时的自动填充信息。这里有一些解决方法:Trigger autocomplete without submitting a form
答案 1 :(得分:3)
请为您的输入变量提供ID
<form method='post' action='myaction'>
<input name='myname' type='email' id="myname" autocomplete='on' />
<input type='submit' value='Submit!' onclick='transform_data();'/>
</form>
然后它应该工作,没有id它不会工作