如何关闭自动完成而继续使用在HTML datalist元素(How to turn off auto

2019-08-21 07:30发布

我有一个input字段,其示出了使用HTML5列表<datalist>元素。 问题是,与<datalist>浏览器自动完成还示出了历史列表(其为先前类型的值的列表中,不包含在<datalist> )。 所以,我只是想摆脱的history-list不是<datalist>

如果我使用autocomplete = "off"的功能,这也阻止<datalist>

总之,我只想<datalist>不是历史之一。

Answer 1:

是否有可能为你使用input字段没有idname属性? 如果没有,浏览器并没有真正有任何方式的历史与该元素相关联。

在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>

在上面的代码中, input s的一个idname会记得过去的值,但input没有任何东西,只需输入class 不会记得任何事情。

不幸的是,这确实让使用的input ,如果你需要它有一个稍微难nameid 。 在这种情况下,我会尝试有一个id “ED input这也display: none ”版,然后使用一些JavaScript来与保持同步input ,不会记得过去的值。



Answer 2:

尝试使用HTML属性自动完成

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

源关闭自动完成输入



Answer 3:

我用这样的代码:

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

:对于选择显示在DataList完成

:输入字段是空的,因此将旧值没有记录,如果需要由使用者记住



Answer 4:

试试这个:

<datalist id="datalist_id">

JS:

dataList = $("#datalist_id")
dataList.empty()

这将清除DataList的历史。 这为我工作的铬。 然后,如果你想添加的选项列表中,请尝试:

dataList.append("<option>Some Option</option>")

干杯!



Answer 5:

试试这个,我希望它的工作

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

最好的祝愿



文章来源: How to turn off autocomplete while keep using datalist element in html