2013-03-22 86 views
0

我想在窗体中使用通常的浏览器自动完成功能,但我不希望浏览器为其设置默认值。带有自动完成功能但没有默认值的HTML输入

预期的行为是输入总是呈现空白,当用户单击它时,浏览器会自动完成显示该字段的先前输入值的踢法。

我在this登录页面看到类似的东西。

我已经尝试在页面加载时使用javascript清空输入值,但它不是一个非常干净的解决方案,因为有时我可以看到显示的默认值,然后擦除。

任何帮助将是伟大的。

+0

难道是您将自动填充与自动填充混淆?或者你是指占位符? – zeroflagL 2013-03-22 16:13:00

+0

也许它是一个不同的名字。我不是在谈论占位符。因此,如果您调用“自动填充”浏览器功能,该功能将默认值设置为已保存历史记录的输入,那么是的,我正在讨论禁用自动填充功能。 – 2013-03-22 16:16:45

+0

'表单标签中的'autocomplete =“off”'可以工作。虽然,取决于浏览器。 – zeroflagL 2013-03-22 16:21:59

回答

1

wantworthy.com/login使用JavaScript创建页面。因此,当它加载时,输入字段不存在,浏览器无法填充它们。

如果您不想走得太远,只能在页面加载后创建输入字段。也许更简单的事情就像改变字段的名称可以诀窍(假名之前,页面加载后的真实姓名)。但是你必须弄清楚浏览器何时填充字段:onDocumentReady,onLoad甚至更晚。

如评论中所写,您可以在表单标签中使用autocomplete="off",如果您根本不想浏览器干预。但是,这也会关闭显示以前输入的值。

2

我认为这将是你的答案...... http://liveweave.com/dnEfCD

只需使用“占位符”属性。

<form id="main"> 
<input id="email" type="text" placeholder="Email" name="email"> 
<input id="password" type="password" placeholder="Password" name="password"> 
</form> 
+0

这不是问题。我已经在使用占位符。再一次,我只是想强制浏览器显示占位符,而不是自动填充输入的一些值从浏览器历史记录。 – 2013-03-22 16:18:27