如何检测浏览器何时保存密码?

时间:2012-11-02 14:48:00

标签: javascript jquery cross-browser

我正在尝试检测浏览器何时将已保存的用户名和密码放入输入字段。我查看了this post,但我没有选择更改此功能,其他解决方案也不起作用。

基本上,如果字段在加载时为空,则我有一个禁用的登录按钮。但是当浏览器填写输入时,它不会启用该按钮。我正在试图找出它是否会发生变化。

我正在使用jQuery和JS。

我已经尝试过.change,on .ready,on .load等等。它似乎发生在.load事件之后。

有谁知道这个解决方案?我想避免使用任何类型的超时。

4 个答案:

答案 0 :(得分:1)

我认为没有办法检测浏览器是否有一些预先填充字段的内置功能。<​​/ p>

你可以通过启用按钮的计时器来解决问题,如果有的话。 像这样:

setInterval(function (){
 if($("#username").val()!=""){
  $("#loginbutton").attr("enabled","enabled"); 
 }
},1000)

答案 1 :(得分:0)

关键是该字段将在没有任何按键的情况下填充。

因此,如果您在输入字段中捕获.keypress以了解某个键是否被按下,那么如果您要提交表单并发现尽管有值存在没有按键 - 那么您可以确定浏览器预先填充它。

如果您想在提交之前知道(在页面加载后不久),您需要检查一个间隔,看看是否在没有按键的情况下值已经改变。

正如@japrescott指出的那样,你可能想要检查.focus,以防用户粘贴一个值。

答案 2 :(得分:0)

没有对此进行测试,但是你不能简单地将每个字段的默认值与页面加载后的每个字段的值进行比较(或者如果这是一个问题,则加载页面后的.2秒)?< / p>

答案 3 :(得分:-1)

拍摄Jquery .live() function

$('.element').live('load', function(){
  enableLogin();
});