var field = document.createElement("input");
addAttribute(field, "class", "ee");// Feldtyp setzen
var fieldType = document.createAttribute("type");
fieldType.nodeValue = "text";
field.setAttributeNode(fieldType);// Feldlänge bestimmen und setzen
var fieldLength = document.createAttribute("maxlength");
fieldLength.nodeValue = 42;
field.setAttributeNode(fieldLength);field.onchange = formatTextField; // beliebige onChange-Funktion
field.name = dbObject.id;
field.id = dbObject.id;Das einzige, was mir daran auffällt, ist, dass du ganze drei (!) verschiedene Techniken verwendest, um Attributwerte zu setzen. 1. Deine Helferfunktion addAttribute, 2. createAttribute/setAttributeNode, 3. element.attribut = "wert". Beschränke dich jeweils auf letztere.
Ansonsten wäre eine reduzierte Beispielseite ganz hilfreich, weil ich in obigem abstrakten Quellcode keinen Fehler sehe, der zum besagten Verhalten führen könnte.
Mathias
Das ist es ja eben! Fehler sind da ja eigentlich keine, aber ich vermute daß beim dynamischen Hinzufügen von Elementen am DOM der Browser n Problem hat mit dem Tabindex, oder sowas! Wenn die Seite serverseitig oder vor dem Rendering des Browsers aufgebaut wird und nicht dynamisch geändert wird, ist alles gut. Wenn via Javascript Elemente während der Anzeige hinzugefügt werden, klappts nicht mehr.