如何在Chrome自动完成输入时获得输入值
我有一个简单的输入,Google Chrome浏览器自动完成功能已启用。
当我接受建议与→,然后立即点击一个按钮(没有击中Enter或Tab键),然后访问value
的DOM元素的只返回我进入手工字符,而不是场的全部内容。 jQuery也会发生同样的情况,即调用$(input).val()
。
这是一个演示此行为的最小示例。 我在这里使用了type="email"
输入,而不是type="text"
以确保浏览器启用自动完成功能,但其行为完全相同。
当您将建议添加到您的输入(高亮显示)后单击该字段时,会发生同样的情况,而不是使用→。
类似的问题发生在Safari 7上,虽然检索值没有问题,但在我描述的第二个场景(添加建议后单击字段)中只发出没有事件。
除了禁用自动完成功能(我曾这样做)之外,是否有人想过如何规避此问题?
更新:我用Chromium开了一个bug。 到现在为止没有回应。
事实证明,这是Chrome中的一个错误,从版本43.0.2357.65开始得到纠正(尽管如此,它仍然存在于43.0.2357.45中)。
2017年6月更新:此问题已在Chrome 43中修复,现在已有两年不复存在。
尝试将输入字段放入表单中。 这样输入字段不会自动填充。 并迫使你点击其中一个建议。
<form>
<input id="email" type="email"/>
</form>
<button>OK</button>
<span></span>
在点击该按钮之前,在获取该值之前,请着重关注该字段:
document.getElementById("textbox").focus();
var texthere = document.getElementById("textbox").value;
试试看,我相信当你点击按钮时它会给你全部的价值。
链接地址: http://www.djcxy.com/p/79889.html上一篇: How to get value of input when autocompleted by Chrome
下一篇: Get stack trace of a crash on Windows without installing Visual Studio? (C++)