2010-12-09 9 views
4

我有一个客户希望他们的UI在表单中显示字段名称(用户名字段显示“用户名”,密码字段显示“密码”等)。由于表单使用的密码类型为<input>(通常显示为圆点),所以我不得不通过将数据覆盖在包含字面的div上来填充数据。网页中的Chrome自动填充何时呈现?

为了识别自动填充,我写了一些Javascript来检查字段是否被填充并相应地执行(隐藏或显示字面值)。

据我所知,Chrome是唯一一个不可靠的浏览器。它似乎并不关心是否有自动填充数据,而且该字母总是覆盖自动填充数据(表面上是因为hide功能未被触发)。

我长期以来的问题是Chrome在呈现过程中自动填充数据的时间?它是否等到Javascript完成了?有什么方法可以检查自动填充数据是否占用Chrome中的某个字段?

+0

如果你在你的verbiage隐藏函数中放置了一个很长的`setTimeout`,它会在Chrome上正确处理吗?也就是说,尝试从等式中删除文档加载顺序,以确定这是否真的是丢掉铬。 – jball 2010-12-09 04:08:46

回答

1

我决定给听众附加到激活包含表单的模态的事件。毋庸置疑,这是一种只适用于我特殊情况的解决方案。我不认为这是一个答案,但我在这里发布它可能会让其他人寻找解决方案的解决方法。

4

一个简单的解决方法是使用WebKit和Firefox支持的HTML5的placeholder属性。这需要额外的功能检测,但是你只需要在非Chrome中实现模拟覆盖。

Dive Into HTML5 explanation

+0

虽然没有得到广泛的支持,但这个功能是我在HTML5 – dclowd9901 2010-12-09 05:49:23