Hola:
Otro apunte...
En firefox no funciona el reset si no es parte del documento, así que antes de la línea: nuevoF.reset(); abría que insertarlo en el documento... por ejemplo: document.body.appendChild(nuevoF)... y detrás de la línea del reset(): document.body.removeChild(nuevoF)...
Es curioso las cosas que hay que hacer para que funcionen las cosas en todos los navegadores... habrá que ver el funcionamiento en safari... y no sé si interesará en algún otro navegador.
Saludos