如何让我的密码字段始终为空?

Posted

技术标签:

【中文标题】如何让我的密码字段始终为空?【英文标题】:How can I make my password fields always empty? 【发布时间】:2011-02-20 05:07:01 【问题描述】:

我有一个表单字段,用户可以在其中更改密码,但如果他们将设置设置为记住密码,他们的密码就会显示出来。有没有办法让该字段始终为空?这样他们就必须始终输入密码。

<label for="oldpassword" class="styled">Old password:</label>
<input type="password" id="oldpassword" name="oldpassword"/><br />

【问题讨论】:

这是非常不好的做法:如果他们想记住密码,就让他们记住。 这不是用来登录的。这更多是为了他们想更改密码的时候。 【参考方案1】:

您可以在页面加载后不久清除旧密码。

使用 jQuery:

setTimeout(
    function()  $(':password').val(''); ,
    1000  //1,000 milliseconds = 1 second
);

【讨论】:

专门用于选择器中类型属性的使用,新东西要学习 因为在清除密码之前需要延迟 - 至少一秒钟,如 SLaks 所示 - 我最初显示不透明度设置为 0 的字段,然后在值之后动画回 1被清除。 IMO 它看起来比让角色子弹出现和消失要好。【参考方案2】:

不。你无法处理这种浏览器行为。

【讨论】:

从技术上讲,这是真的(即使是 8 年后),值得称赞。浏览器插入密码后可以清空该字段,但不能“使该字段始终为空”。【参考方案3】:
<input type="password" name="my_password_field" autocomplete="off" />

【讨论】:

【参考方案4】:

使用: 密码输入中的autocomplete="new-password"属性

【讨论】:

【参考方案5】:

使用 jQuery:

$(window).load(function() 
    $("input[type=password]").val('');
);

【讨论】:

以上是关于如何让我的密码字段始终为空?的主要内容,如果未能解决你的问题,请参考以下文章

为啥带有附加字段“指定”的字段始终为空?

将 JSON 发送到 WCF Rest 服务 - 对象始终为空

WCF Rest 服务请求对象的字段始终为空

Play Framework 2.4 - 注入的字段始终为空

在集合形式外键始终为空

iCarousel + UITableView = cellForRowAtIndexPath indexPath 始终为空