Te dejaré un ejemplo muy básico que hice.
Código JS. Va entre las etiquetas head
Código Javascript
:
Ver original<script type="text/javascript" language="javascript">
function agregarFormulario(){
var nuevoForm = document.createElement('form');//Crear el formulario
var nuevoInputText = nuevoForm.appendChild(document.createElement('input'));//Dentro del formulario creas la caja
var nuevoInputBoton = nuevoForm.appendChild(document.createElement('input'));//Dentro del formulario crear el boton
nuevoInputText.type = 'text'; //defines el tipo de la caja
nuevoInputBoton.type = 'button'; //defines el tipo del boton
var division = document.getElementsByTagName('division')[0];// guardas en una variable la etiqueta donde quieras mostrar el formulario.
document.getElementById('division').insertBefore(nuevoForm,division);//muestras el formulario
document.getElementById('division').insertBefore(nuevoInputText,division); //muestras la caja
document.getElementById('division').insertBefore(nuevoInputBoton,division); // muestras el boton
}
</script>
El HTML
Código HTML:
Ver original<input type="button" onclick="agregarFormulario()" value="Agregar Formulario"/>
Ahora con esto tu debes empezar a buscar sobre las propiedad que desees. Ojo a la propiedad Nodeclone.
Una referencia.
http://www.peterbe.com/plog/createelement-a
Un ejemplo para lo que tu quieres(pero si no te informas sobre estos methodos y propiedad no sabrás que hacer)
http://www.telefonica.net/web2/blas-mar/crear.html
Saludos y suerte!