Invoerveld met suggesties

Hieronder zie je een invoerveld. Daar kun je alles in typen wat je in een normaal tekstveld kunt ingeven. Als je op het veld klikt verschijnt er een menu met mogelijkheden. Als je een (willekeurige) letter uit een menu-item typt, krimpt het menu zodat alleen de items die die letter bevatten nog zichtbaar zijn.

Op deze pagina wordt getoond hoe je zoiets maakt. De code staat onderaan de bladzijde. Die kun je ook downloaden om zelf te gebruiken.
De toepasbaarheid is helaas beperkt. Het werkt niet op een computer met een aanraakscherm. Doordat het invoerveld bij dergelijke schermen gemakkelijk de focus verliest, is het niet goed mogelijk om data in te voeren of om iets uit de lijst te kiezen. Sommige browsers tonen het menu in het schermtoetsenbord. Edge laat wel de knoppen zien maar de menu-items zijn niet leesbaar.

Gebruik:

De code van het voorbeeld ziet er als volgt uit:
 
(Zet dit in de <HEAD>).

<script>
function laatZien() {
  window.alert("in het invoerveld staat:\n" + document.getElementById('invoer').value);
}
</script>

(Zet dit in de <BODY> op de plaats waar het invoerveld en de knop moeten verschijnen)

<div style="text-align:center">
  <input type="text" list="lijst" id="invoer">
  <datalist id="lijst">
    <option value="HTML"></option>
    <option value="CSS"></option>
    <option value="JavaScript"></option>
    <option value="PHP"></option>
  </datalist>
  <button type="button" onclick="laatZien()">Laat zien wat er in het invoerveld staat</button>
</div>

Downloaden:
 
Druk op de knop: Download deze code  File: voorb789.zip, 476 bytes.

Opmerking:
 
Als het invoerveld niet (nooit) bewerkt hoeft te worden, is een <listbox> een betere / veiligere keuze.

 
terug

html-789; Laatste wijziging: 18 april 2025