我有一个带密码字段的登录页面。当用户在浏览器中保存密码时,它会在下次自动填充。我想在自动填充后获取该值。当前在文档准备好中检查时,该值为空。
$(document).ready(function () {
if ($('#PasswordField').val() != "")
{
//TO DO
}
});
答案 0 :(得分:0)
请注意,“更改”事件仅在元素失去焦点时触发,因此不适合捕获自动填充机器人的值。这应该工作:
pi
答案 1 :(得分:0)
经过大量研究后,我可以说它完全 依赖于浏览器 。更改事件适用于某些浏览器,某些浏览器不会调度change事件。对此没有确切/相同的解决方案。
事情就是当浏览器预先填写用户名和密码字段时,因为在这种情况下,用户名和密码字段不会获得并失去焦点,这就是更改事件未被触发的原因。
以下代码适用于某些浏览器:
$(document).ready(function () {
$("#password").change(function (argument) {
console.log($("#password").val());
});
});
您也可以在$(document).ready()
:
setTimeout(function(){
console.log($("#password").val());
},2000);
为了更好地了解此自动填充概念和浏览器兼容性,请阅读此short article。