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