Autovervollständigungen erleichtern dem Benutzer die Eingabe und sehen zudem sehr schick aus. Eine Möglichkeit um Autocomplete zu realisieren ist die Verwendung von scriptaculous.
Dabei müssen folgende Regeln beachtet werden:
- Zuerst „Prototype“ im head-Bereich einbinden
- Danach „script.aculo.us“ im head-Bereich einbinden
- Dem, für die Autocompletion gewünschten, Textfeld eine ID zuweisen
- Einen leeren DIV-Container mit ID für die Autocomplete-Ergebnisse erstellen
- Liste für die Werte zur Vervollständigung erstellen
- Den new Ajax.Autocompleter(...)-Aurfruf im body-Tag (!) durchführen
Bei Nichteinhaltung kann es zum Fehler this.element is null in control.js (Zeile 53) bei this.oldElementValue = this.element.value; kommen.
Ein weiterer beliebter Fehler ist Ajax.Autocompeter is not a constructor. Dieser Fehler basiert im Wesentlichen darauf, dass die Abhängigkeiten nicht gefunden wurden.
Die häufigsten Gründe dafür sind:
- prototype.js und/oder scriptaculous.js wurden nicht eingebunden
- prototype.js wurde nicht vor scriptaculous.js eingebunden
- scriptaculous.js befindet sich ohne abhängige Includes (z.B. control.js) auf dem Server
- Das DOM ist nicht valide