Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取自动填充输入的值-Jquery_Javascript_Jquery_Html_Google Chrome_Autofill - Fatal编程技术网

Javascript 获取自动填充输入的值-Jquery

Javascript 获取自动填充输入的值-Jquery,javascript,jquery,html,google-chrome,autofill,Javascript,Jquery,Html,Google Chrome,Autofill,因此,当一些浏览器自动填写登录表单时,会导致我的交互式占位符出现问题。占位符是一个带有一些文本的元素,当聚焦时,它会移动到输入本身的上方。当浏览器插入它“记住”的数据时,我如何才能检测到它的存在及其价值 请注意,这是我想要获取的输入的自动完成值。给span一个ID,并在其上运行text()方法。没有任何参数,它就像一个getter var yourtext = $('#somespan').text(); 如果它是一个实际的textfield而不是span,则可以使用.val()方法获取内容

因此,当一些浏览器自动填写登录表单时,会导致我的交互式占位符出现问题。占位符是一个带有一些文本的
元素,当聚焦时,它会移动到输入本身的上方。当浏览器插入它“记住”的数据时,我如何才能检测到它的存在及其价值


请注意,这是我想要获取的输入的自动完成值。

给span一个ID,并在其上运行text()方法。没有任何参数,它就像一个getter

var yourtext = $('#somespan').text();
如果它是一个实际的textfield而不是span,则可以使用.val()方法获取内容


使用以下代码,我成功地实现了我希望的结果:

setTimeout(function() {
    console.log($('#input').val());
});

使用超时允许浏览器在代码向其请求数据之前加载自身。

如何查找输入值?我在这里发布之前已经尝试过了。您为输入提供的答案似乎不适用于自动完成值,它只返回一个空值。运行上面适用的方法,它将获得文本。一旦文本设置为“yourtext”变量,您就可以访问它,如:$(“#someothertextfield”).val(yourtext)
元素没有
.text()
响应,因为它是值。如前所述,使用<代码> .Vall()/代码>方法不返回任何内容,这是因为浏览器将值插入到字段中。自动填充字段是在DOM加载时填充的,还是在执行其他操作后填充的。如果您试图在文本填充之前访问它,那么您将返回一个空变量。很高兴您解决了它。时间/操作顺序似乎是当时的问题。很好的方法,但为了解决我的问题,我必须指定时间。。。刚刚添加了50或100毫秒:setTimeout(function(){console.log($('#input').val();},100);setTimeOut()不适用于我。我尝试了长达3秒的延迟。在Chrome中,由于某种原因,只有在用户在页面上进行交互后,JavaScript才能访问自动填充值。这就是我使用
$('body')的原因
将值设为“real”,否则将收到一个空字符串。由于这不适用于密码字段,因此我使用
autocomplete=“new password”
作为密码字段,因此用户必须填写新密码。
setTimeout(function() {
    console.log($('#input').val());
});