如何检测浏览器何时输入保存的密码到网页登录中?

8

我有一个网站,可以检测用户输入用户名和密码后启用登录按钮。问题是,如果浏览器记住了用户名和密码,则永远不会启用登录按钮。是否有一种JavaScript方法可以检测浏览器输入此信息?


你使用哪个事件来检测用户输入数据? - a_m0d
5
没有启用JavaScript的用户怎样登录? - spender
@spender 我能想到的非JS用户使用的唯一方法是在DOM准备好或类似情况下仅禁用按钮。 - alex
4个回答

5
你可以使用setInterval()轮询它,但为什么在输入详细信息之前就要禁用它呢?这似乎不是一种普遍的做法。

确实。有点不太标准。 - spender
如果将轮询映射到onkeyup()上,这样会不会更好呢? - Razor Storm
@Razor Storm 当然可以,但我从未提到这个轮询可能会附加在什么上面。 - alex
我的意思是,如果你将它映射到一个keyup事件,就不必设置一个间隔。这会使函数更加响应,代码整体上更加高效。 - Razor Storm

4

或者,您可以保持按钮启用,并在按下按钮时检查非空输入。如其他人所示,这将更加标准。


事物变化得如此之快,这真是有趣。我也遇到了同样的问题,现在似乎禁用登录按钮直到输入凭据已经成为常规做法。 - ILikeTacos

0
还没有测试过,但是你可以在文本字段上使用onchange事件。

我不确定这些是否针对存储的数据触发。 - Tom Gullen
这似乎不起作用;至少在使用jQuery .change()时。 - streetlight

0

首先,正如其他人提到的那样,我不确定为什么您不会将其作为默认启用。但是,这是您需要做的。当页面加载时,只需检查字段中是否有任何内容。有时,当字段获得焦点时,浏览器会输入登录信息,但我认为如果它获得焦点,您的脚本可能会检测到输入。

window.onload=function(){
  var txt=document.getElementById('username');
  if(txt!==''){showSubmit();}
  //if you have a preset value you can always do txt!=='username'
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接