0

在 Linux 下运行 chrome 58.0.3029.110 在 windows 下报告类似问题。

数据列表动态(通过 websocket 提供)。

当试图点击一个包含多个数据列表的页面时,没有一个数据列表会填写。

当时我发现本地解决方案是简单地从第 1 个人切换到第 2 个人。

虽然这似乎可以解决我的问题,但这并不是我可以开始向希望使用我的网站的用户提供的建议。

我花了好几个小时试图找到问题所在,并发现我在该页面上和损坏的配置文件下是否只有 1 个 datalist 实例。(又名第 1 个人)数据列表似乎工作得很好:

<input name="something" list="someresults"/>
<datalist id="someresults"></datalist>

工作正常,我可以更改为页面上的任何数据列表,并且一切正常。

我开始在同一页面上使用第二个 dataList 的那一刻:

  <input name="something" list="someresults"/>
    <datalist id="someresults"></datalist>
   <input name="something2" list="someresults2"/>
    <datalist id="someresults2"></datalist>

他们都不会加载内容,箭头填充表示内容,在 html 中查看 DOM 已使用用户输入匹配结果进行了更新。

只是想知道到底是什么导致了这显然不是代码,因为正如我所说,通过更改 chrome 配置文件,问题就消失了。

任何洞察/修复信息将不胜感激

如果需要 PS 过程相当复杂,我可以在实时站点上创建一些演示页面来显示手头的问题,因为我认为实际工作太复杂,无法在此处发布

4

1 回答 1

0

在这种情况下,结果证明是由于两件事,也许我自己的总结有助于更快地缩小范围。

  1. 禁用主窗体:(如果在主窗体中使用,请将其删除)

autocomplete="off"

  1. 禁用任何 dataList 输入中使用的相同标签:(删除标签) autocomplete="off"

请注意,给定字段上的单个 dataList 和 autocomplete="off" 工作正常。

(真的很奇怪)

于 2017-06-03T10:41:42.020 回答