No entiendo exactamente tu inquietud, el codigo parece funcionar perfectamente, unicamente agregue lo siguiente:
Código javascript
:
Ver originalfield2 = c('INPUT');
field2.name = 'descripcion';
field2.type = 'text';
Codigo total:
Código HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
</head>
<body>
<div id="subir"></div>
<script type="text/javascript">
var numero = 0;
// Funciones comunes
c= function (tag) { // Crea un elemento
return document.createElement(tag);
}
d = function (id) { // Retorna un elemento en base al id
return document.getElementById(id);
}
e = function (evt) { // Retorna el evento
return (!evt) ? event : evt;
}
f = function (evt) { // Retorna el objeto que genera el evento
return evt.srcElement ? evt.srcElement : evt.target;
}
addField = function () {
container = d('subir');
span = c('SPAN');
span.className = 'subir';
span.id = 'subir' + (++numero);
field = c('INPUT');
field.name = 'archivos[]';
field.type = 'file';
field2 = c('INPUT');
field2.name = 'descripcion';
field2.type = 'text';
a = c('A');
a.name = span.id;
a.href = '#subir';
a.onclick = removeField;
a.innerHTML = 'Quitar';
span.appendChild(field);
span.appendChild(field2);
span.appendChild(a);
container.appendChild(span);
}
removeField = function (evt) {
lnk = f(e(evt));
span = d(lnk.name);
span.parentNode.removeChild(span);
}
addField();
</script>
</body>
</html>