web-dev-qa-db-fra.com

Comment désactiver l'auto-complétion tout en continuant à utiliser l'élément datalist en HTML

J'ai un champ input qui montre une liste en utilisant l'élément html5 <datalist>. Le problème est qu'avec <datalist>, la saisie semi-automatique du navigateur affiche également la liste de l'historique (qui est la liste des valeurs précédemment typées, qui ne sont pas incluses dans le <datalist>). Donc, je veux juste me débarrasser du history-list et non du <datalist>.

Si j'utilise la fonctionnalité autocomplete = "off", cela bloque également le <datalist>.

En bref, je veux juste le <datalist> pas l’historique.

31
Yousuf Memon

J'utilise un code comme celui-ci:

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

bien : la datalist indiquée pour la sélection est terminée

bad : Le champ de saisie est vide, donc l'ancienne valeur n'est pas documentée, si nécessaire pour que l'utilisateur se souvienne de lui

2
Ulrich Berth

Essayez d'utiliser l'attribut HTML autocomplete

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

source Désactiver la saisie semi-automatique pour entrée

2
Ananda

essaye ça:

<datalist id="datalist_id">

js:

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

Cela effacera l'histoire du dataliste. Cela a fonctionné pour moi sur chrome . Alors si vous voulez ajouter des options à la liste, essayez:

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

À votre santé !!!

0
nwillo