我有一个输入字段,显示使用html5的列表<;数据列表>元素。问题在于<;数据列表>浏览器自动完成功能还显示历史记录列表(这是以前键入的值的列表,不包括在<;datalist>;中)。所以我只想去掉历史记录列表,而不是<;数据列表>
如果我使用autocomplete=“off”功能,这也会阻止<;数据列表>
简而言之,我只想要<;数据列表>不是历史记录
您是否可以使用不带id或name属性的input字段?否则,浏览器就无法将历史与该元素相关联
在我的real quickFirefox测试中,这似乎起到了关键作用:
<;表格>;
<;!--这些将记住输入-->;
具有id:<;输入id=“myInputId”list=“myList”/>&书信电报;br/>;
名称:<;input name=“myInputName”list=“myList”/>&书信电报;br/>;
<;!--这些将不会记住输入-->;
没有id、名称、类别:<;输入列表=“myList”/>&书信电报;br/>;
带类:<;input class=“myInputClass”list=“myList”/>;
<;datalist id=“myList”>;
<;选项值=“选项1”></选项>;
<;选项值=“选项2”></选项>;
</数据列表>;
<;br/>;
<;输入类型=“提交”/>;
</表格>;
在上面的代码中,带有id或name的input会记住过去的值,但是input没有任何内容,而只有类的input不会记住任何内容
不幸的是,如果您需要输入名或id,那么使用输入会稍微困难一些。在这种情况下,我会尝试使用id'edinput,它也是display:none'ed,然后使用一些JavaScript使它与一个不会记住过去值的input保持同步