Hallo,
document.appendChild(form);
Der document-Knoten hat nur ein Kindknoten, nämlich das Dokument-Element namens html. Weitere Knoten kannst du ihm nicht anhängen. Benutze wie gesagt das body-Element, das geht am einfachsten über document.body.
Mathias