当Chrome自动填充时,iframe中的表单密码字段就像空一样

时间:2017-02-11 10:39:06

标签: django forms google-chrome django-allauth

当Google Chrome使用保存的凭据信息自动填写密码字段并且我提交表单时,密码的数据为空字符串。

因此我得到一个“字段是必需的”错误,甚至认为该领域有一些东西。

enter image description here

我正在使用django-allauth,但我做了一些测试,当我使用基本的django Forms时,问题似乎也会发生。

知道什么可能导致这个问题吗?最终,我可以尝试停用此字段的自动填充,但我宁愿不这样做。

请注意,它在firefox上运行正常,它不会在页面加载时填充字段,但仅在用户在自动完成下拉菜单中选择其用户名时才会填充。

编辑 - 更多信息:我发现这与我在iframe中的表单相关联。当我直接在主页面上显示它时,不会发生此问题。我仍然需要让它在iframe中工作,但是......

EDIT2:经过一些研究后,Chrome似乎没有在动态添加的iframe上发送正确事件的错误:

https://bugs.chromium.org/p/chromium/issues/detail?id=669045

https://codereview.chromium.org/2603623002

我正在努力寻找解决方法......

1 个答案:

答案 0 :(得分:0)

在加载页面上使用javascript来设置input = innerhtml的值。

例如goto facebook.com并打开控制台并写:

unsigned char mask = 20;  // bits 0001 0100 
// or
unsigned char mask = 0x20;// bits 0010 0000 


您需要将电子邮件输入值设置为

document.getElementsByTagName('input')[1].value