Gracias!!!!
Código HTML:
<script language="javascript"> var upload_number; //Esta es una variable de control para mantener nombres diferentes de cada campo creado dinamicamente. //Aqui se hace lamagia... jejeje, esta funcion crea dinamicamente los nuevos campos file addCampo = function () { upload_number = document.form1.upload_number.value; if (upload_number == (-1)) { upload_number=2; } //Creamos un nuevo div para que contenga el nuevo campo nDiv = document.createElement('div'); //con esto se establece la clase de la div nDiv.className = 'archivo'; //este es el id de la div, aqui la utilidad de la variable numero //nos permite darle un id unico nDiv.id = 'file' + upload_number; //creamos el input para el formulario: nCampo = document.createElement('input'); //le damos un nombre, es importante que lo nombren como vector, pues todos los campos //compartiran el nombre en un arreglo, asi es mas facil procesar posteriormente con php nCampo.name = 'archivo'+upload_number; //Establecemos el tipo de campo nCampo.type = 'file'; nCampo.size = '85'; nCampo.title = 'archivo'+upload_number; //Ahora creamos un link para poder eliminar un campo que ya no deseemos a = document.createElement('a'); //El link debe tener el mismo nombre de la div padre, para efectos de localizarla y eliminarla a.name = nDiv.id; //Este link no debe ir a ningun lado a.href = '#'; //Establecemos que dispare esta funcion en click a.onclick = elimCamp; //Con esto ponemos el texto del link a.innerHTML = '<font face="Verdana" size="-1" color="#003883">Delete</font>'; //Bien es el momento de integrar lo que hemos creado al documento, //primero usamos la función appendChild para adicionar el campo file nuevo nDiv.appendChild(nCampo); //Adicionamos el Link nDiv.appendChild(a); //Ahora si recuerdan, en el html hay una div cuyo id es 'adjuntos', bien //con esta función obtenemos una referencia a ella para usar de nuevo appendChild //y adicionar la div que hemos creado, la cual contiene el campo file con su link de eliminación: container = document.getElementById('adjuntos'); container.appendChild(nDiv); ++upload_number; document.form1.upload_number.value=upload_number; } //con esta función eliminamos el campo cuyo link de eliminación sea presionado elimCamp = function (evt){ evt = evento(evt); nCampo = rObj(evt); alert(evt.target); div = document.getElementById(nCampo.name); div.parentNode.removeChild(div); upload_number=upload_number-1; document.form1.upload_number.value=(document.form1.upload_number.value-1); } evento = function (evt) { //esta funcion nos devuelve el tipo de evento disparado return (!evt) ? event : evt; } //con esta función recuperamos una instancia del objeto que disparo el evento rObj = function (evt) { return evt.srcElement ? evt.srcElement : evt.target; } function setBlock() { document.getElementById('moreLink').style.display = 'block'; } </script>