我在使用 firefox 查看我的网站时遇到密码输入问题,这是 html:
<div class="passField">
<label for="password">Password : </label>
<input type="password"
name="password" id="password"
title="6 to 20 characters, one uppercase and numbers allowed." placeholder="APassword123"
maxlength="20" pattern="^[A-Za-z0-9]{6,20}$"
/>
<span class="inputDesc">'.$passwordDesc.'</span>
</div>
用户通过电子邮件中的链接被定向到包含此输入的页面,如下所示:
http://www.mysite.com/reset.php?theId=1&theKey=699acfc121edfd91df48d5d99044d74d
执行数据库检查,如果详细信息与我的数据库中与该用户 ID 相关的详细信息相匹配,则会向用户显示两个输入。一个用于初始密码,一个用于确认输入的密码。
我遇到的问题是,当页面加载时,初始密码输入包含几个点(数据),而第二个输入包含占位符......两者都是密码类型。
这是一个屏幕截图,看看我在说什么:
这是 IE 中的相同页面:
据我了解,它们都应该统一显示,无论输入类型如何,都照常显示占位符,并且由于我没有为此输入分配任何值,所以究竟为什么在没有时以这种方式呈现值甚至根据页面源赋值?
如有任何与此相关的帮助、理解或信息,我们将不胜感激,谢谢!
最佳答案
在字段上使用 autocomplete="off"以避免预填充字段。当然,这不考虑可能的 JavaScript 或填充该字段的任何其他内容。
编辑 - 进一步解释(因为有人要求)
大多数浏览器都有自动填写表单域的内置功能。他们填写的字段具有用户经常填写的标准名称(这通常是第一个被问到的)例如地址字段通常是这样填写的。
该功能的第二部分是填写已保存的密码,但浏览器并不是很智能。当您保存密码时,例如 http://example.com/phpmyadmin他们还将在http://example.com/ 的主页上填写密码字段这通常是不正确的,因为主页上的登录名肯定不是管理区域的登录名。
您可以通过设置 autocomplete=off 来解决此问题,这会为输入字段关闭此功能(如果您愿意,这也可能适用于整个表单)或为字段指定不同的名称。而使用 autocomplete=off 更可靠。
关于html - FIREFOX - HTML - 密码输入 - 页面加载时字段包含数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12473712/