Buenas,
Me gustaría solicitaros ayuda con un tema. Estoy empezando a trabajar con AJAX, pero creo que la duda es exclusivamente de JavaScript.
Estoy haciendo un formulario al que se pueden adjuntar ficheros para subirlos y quería añadir el típico enlace de "Añadir otro adjunto". Tengo el siguiente HTML:
Código HTML:
<div id="clone-input"><input type="file" name="attachment[]"/></div><a href="javascript:cloneInput()">Adjuntar otro</a>
Y el JS:
Código:
function cloneInput(){
var new_input = '<input type="file" name="attachment[]"/>';
var parent = document.getElementById('clone-input');
var complete = '';
for (var i = 0; i < parent.childNodes.length; i++) {
complete += '<input type="file" name="attachment[]" value="' + parent.childNodes[i].value + '"/>';
}
complete += new_input;
alert(complete);
parent.innerHTML = complete;
}
El nuevo input lo crea perfectamente, pero los inputs que hubiera antes pierden el fichero si ya lo insertaste. Es decir, si añades un fichero en el input y le das a añadir otro, este se añade sin problemas, pero el input que ya habías rellenado se vacía.
Hice el código que veis ahí para intentar solucionarlo, pero parent.childNodes[i].value sólo tiene el nombre del fichero y la ruta se pierde, creo que por eso se pierde el value.
Espero que me puedan echar una mano, un saludo.