Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 Chrome自动完成时如何获取输入值_Javascript_Jquery_Html_Google Chrome - Fatal编程技术网

Javascript Chrome自动完成时如何获取输入值

Javascript Chrome自动完成时如何获取输入值,javascript,jquery,html,google-chrome,Javascript,Jquery,Html,Google Chrome,我有一个简单的输入,Google Chrome的自动补全功能就是为了这个 当我接受这个建议时→ 然后立即单击一个按钮(不点击Enter或Tab),然后访问DOM元素的value,只返回我手工输入的字符,而不是字段的全部内容。jQuery也会发生同样的情况,即调用$(input).val() 下面是一个演示此行为的示例。我在这里使用了type=“email”输入,而不是type=“text”来确保浏览器启用自动完成功能,但其行为完全相同 将建议添加到输入(高亮显示)后单击字段,而不是使用→. S

我有一个简单的输入,Google Chrome的自动补全功能就是为了这个

当我接受这个建议时→ 然后立即单击一个按钮(不点击Enter或Tab),然后访问DOM元素的
value
,只返回我手工输入的字符,而不是字段的全部内容。jQuery也会发生同样的情况,即调用
$(input).val()

下面是一个演示此行为的示例。我在这里使用了
type=“email”
输入,而不是
type=“text”
来确保浏览器启用自动完成功能,但其行为完全相同

将建议添加到输入(高亮显示)后单击字段,而不是使用→.

Safari 7上也出现了类似的问题,尽管检索值没有问题,但在我描述的第二个场景中(添加建议后单击字段)没有发出任何事件

除了禁用自动完成功能(我做到了)之外,有人知道如何避免这种情况吗



更新:我已经打开了。到目前为止没有响应。

单击按钮,在获取值之前,请尝试聚焦字段:

document.getElementById("textbox").focus();
var texthere = document.getElementById("textbox").value;

试试看,我相信当你点击按钮时,它会给你全部的值。

试着把输入字段放到表单中。 这样,输入字段不会自动填充。并强制您单击其中一个建议

<form>
    <input id="email" type="email"/>
</form>
<button>OK</button>
<span></span>

好啊
它原来是Chrome中的一个版本,在43.0.2357.65版本时已被更正(尽管它仍然存在于43.0.2357.45中)



2017年6月更新:Chrome 43解决了此问题,两年内不再存在。

您想通过单击“确定”按钮获得价值吗?它正在我的Google Chrome上运行。我用向下箭头+回车键键入第一个字母和建议,然后单击button@PratikJoshi是,单击获取值将是sufficient@Aleksandrus我的问题是,如果用户不按,该怎么办Enter@ArturNowak,然后什么都不做我的问题是在我的Chrome(版本36)上,单击确定“删除”建议。在我的特定用例中,单击按钮将隐藏输入,因此从用户的角度来看,该值仍然是“无效的”。不幸的是,即使在添加
setTimeout(…,0)之后,这也不起作用
:你解决了这个问题吗?@DiegoRios我编辑了我的答案以反映当前状态。2018年12月,Chrome版本71.0.3578.98出现了完全相同的问题