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>
Código:
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.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; }
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.