Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.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
如何在html中继续使用datalist元素时关闭自动完成_Html_Autocomplete_Browser History_Html Datalist - Fatal编程技术网

如何在html中继续使用datalist元素时关闭自动完成

如何在html中继续使用datalist元素时关闭自动完成,html,autocomplete,browser-history,html-datalist,Html,Autocomplete,Browser History,Html Datalist,我有一个输入字段,显示使用html5元素的列表。问题在于,使用浏览器自动完成功能也会显示历史记录列表(这是以前键入的值的列表,不包括在中)。所以我只想去掉历史记录列表,而不是 如果我使用autocomplete=“off”功能,这也会阻止 简而言之,我只想要而不是历史版本。试试这个,我希望它能起作用 <input id="datalisttestinput" list="stuff" autocomplete="off">&

我有一个
输入
字段,显示使用html5
元素的列表。问题在于,使用
浏览器自动完成功能也会显示历史记录列表(这是以前键入的值的列表,不包括在
中)。所以我只想去掉
历史记录列表
,而不是

如果我使用
autocomplete=“off”
功能,这也会阻止


简而言之,我只想要
而不是历史版本。

试试这个,我希望它能起作用

<input id="datalisttestinput" list="stuff" autocomplete="off"></input>
<datalist id="stuff">
     <option id="1" value="Amy">
     <option id="2" value="Kristal">
     <option id="3" value="Collin">
     <option id="4" value="Carl">
</datalist>

我使用这样的代码:

<input name="anrede" list="anrede" onmousedown="value = '';" />
<datalist id="anrede">
    <option value="Herr"></option>
    <option value="Frau"></option>
</datalist>

良好:显示供选择的数据列表已完成

错误:输入字段为空, 因此,未记录旧值,
如果用户需要记住

是否可以使用不带
id
name
属性的
输入
字段?否则,浏览器就无法将历史与该元素相关联

在我对Firefox的快速测试中,这似乎起到了关键作用:

<form>
  <!-- these will remember input -->
  With id: <input id="myInputId" list="myList" /><br />
  With name: <input name="myInputName" list="myList" /><br />

  <!-- these will NOT remember input -->
  No id, name, class: <input list="myList" /><br />
  With class: <input class="myInputClass" list="myList" />

  <datalist id="myList">
    <option value="Option 1"></option>
    <option value="Option 2"></option>
  </datalist>

  <br />

  <input type="submit" />
</form>

id为:
名称:
没有id、名称、类别:
课堂上:
在上面的代码中,带有
id
name
input
会记住过去的值,但是
input
没有任何内容,而只有
类的input
不会记住任何内容


不幸的是,如果您需要
输入名
id
,则使用
输入会稍微困难一些。在这种情况下,我会尝试使用
id
'ed
input
,它也是
display:none
'ed,然后使用一些JavaScript使它与不记得过去值的
input
保持同步。

尝试使用HTML属性autocomplete

<input name="q" type="text" autocomplete="off"/>

来源

试试这个:

<datalist id="datalist_id">
这将清除数据列表的历史记录。这在chrome上对我有效。 然后,如果要向列表中添加选项,请尝试:

dataList.append("<option>Some Option</option>")
dataList.append(“某些选项”)
干杯

您可以使用autocomplete=“新密码”。autocomplete=“off”在我的情况下不起作用

<input name="q" type="text" autocomplete="new-password"/>


啊,好建议。事实上,我刚刚意识到,在我自己的问题上,我实际上解决了同样的问题,方法是使用
,并在实际输入中省略名称。我将它们与一个简单的jquery保持同步:@StephanMuller是的,这正是我所想的!有趣的建议,有人能证实同样的方法是否也适用于Chrome吗?我想即使是chrome也会根据chrome中测试的ID记忆历史,并且它的工作原理与广告中的一样。然而,我的HTML是从JSP生成的,我不能避免使用“name”属性,因为映射需要它。任何其他解决方案?在最新版本的Firefox(50)和Chrome(55)中,在
输入上使用
autocomplete=“off”
具有预期的行为:它禁用历史记录,但显示
datalist
选项。谢谢!这将教会我首先阅读文档:op确实说过他们使用了
autocomplete
属性。。。提交表单后,它会记住以前选择的数据列表值,尽管“自动完成”处于“关闭”状态。我刚刚在firefox 62.0.3I下面对它,我发现在Chrome中,根据输入和/或数据列表的名称,它仍然在底部提示错误的东西。字段名medNames在底部显示了一些我的名字组合。通过对自动完成值使用datalist id,可以防止出现这种情况。这是最简单也是最好的解决方案。我没有像OP那样面对问题;使用
list=“datlistID”
连接输入。(我还使用占位符表示旧值)如果您想为用户记住输入值,请将该值也放在占位符=“value”-中,这样对用户有点帮助;-)我也有这个问题。似乎是疏忽没有包括消除这两者之间歧义的方法。我没有遇到阻止
datalist
的问题。在Firefox 63.0.3和Chromium 70.0.3538.110下进行检查。使用
autocomplete=“off”
一切正常这是最好的答案,因为它只显示了实际的数据列表选项以及以前键入的数据列表选项。但是,我使用数据列表的名称/id作为自动完成值。不确定新密码来自何处
<input name="q" type="text" autocomplete="new-password"/>