[JavaScript] browsereigene Formular-Vervollständigung Abschalten

beavisbee

Member of Honour
ich sitze gerade über einer kleinen Formular-Auto-Vervollständigungs-Geschichte und bin dabei auf ein Problem gestoßen:

Erst hat sich bei JEDER Eingabe automatisch dieses browser-eigene Auto-Vervollständigungs-Feld mit geöffnet. (solange man 'nen Anfangsbuchstaben angegeben hat, wo er was in der Liste hatte)

Nachdem ich dann alle Tastatur-Eingaben per JavaScript abgefangen habe und mit
Code:
if (event.preventDefault) { 
    event.preventDefault();
}
das Event letztendlich abgewürgt habe und den Inhalt des Input-Feldes dann per JS gefüllt habe, lief zumindestens die Eingabe ohne nervige Autocomplete-Liste...

Das funktioniert jedoch nur solange ganz gut, bis man die Pfeiltaste nach unten drückt - da kommt dieses Standard-Autovervollständigungs-Feld wieder...


aufgerufen wird die Funktion über
Code:
<input ... onkeydown="javascript:foo(event); return false;" />

die einzigen Möglichkeiten, die ich gefunden habe:

  • ein Textarea als Input misbrauchen
  • an den Namen des Input eine zufällige ID anhängen
  • das nicht-standard-konforme Attribut autocomplete="off" verwenden


Aber irgendwie finde ich alle Varianten nicht soo perfekt.
Ich möchte gerne ein ganz normales Formular für Leute, die JavaScript und vielleicht sogar CSS abgeschaltet haben und für User, die JS verwenden, soll per JS eben die komfortablere Variante mit Auto-Suggestion aktiviert werden.

Any Ideas?
 

Enterprize1

New member
Endlich ein Thema zu dem ich auch was sagen kann :)

Ich hab das bis jetzt immer so gemacht, dass ich einfach per Javascript bei jedem Input Feld autocomplete auf off gesetzt habe. Ist standardkonform und Browser ohne js kriegen vom Browser die normale Autocomplete Liste.

--
Enterprize1
 
Oben