有什么方法可以获得汽车的价值吗?

var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) {
    inputs[i].onfocus = foo;
}
function foo(){
    alert(this.value);
}

手动输入输入值时:
不管输入字段的类型如何,以上代码都能正常工作并发出警报。

当浏览器自动填充输入值时:
代码在输入字段为文本类型时工作并提醒正确的值。 在密码字段的情况下,它会提醒空字符串!

这是因为浏览器的安全策略的行为吗? 或者有任何解决方法可能? 我在Chrome浏览器中试过。


这是一个有趣的问题,因为我相信你指的是Chrome中安全功能的副作用。 Chrome浏览器(也可能是其他浏览器)实际上可能不会使用自动填充的密码填充DOM,因为恶意程序员可能会编写JavaScript,试图在页面加载后从不知情的受害者中窃取自动填充的密码。 您很可能会要求用户单击提交按钮,然后才能访问该信息。 实际发生提交之前,您可能会强制该表单提交并检查该值。 如果有效,那么您可以通过在“onsubmit”中返回false来取消提交,并且您现在拥有密码。


$(document).ready(function() {
  $("input")
      .blur(password)
      .trigger('blur');
});

function password() {
   alert($(this).val())
}

DEMO

链接地址: http://www.djcxy.com/p/90415.html

上一篇: Is there any way to get value of an auto

下一篇: What's the difference between the ::after and ::backdrop pseudo