Hola:
Justamente los campos de los formularios son los más difíciles de crear, ya que por seguridad, hay algunos atributos muy difíciles de tratar... creo que explorer aconseja crearlos con innerHTML, aunque el truco que yo suelo usar es tener ese campo oculto y deshabilitado o fuera del formulario, y simplemente clonarlo... el inconveniente puedes estar en la referenciación, pero tan solo debes acordarte de cambiar su id.
Saludos