Tengo otro script para validar cuales tipos de archivos se deben adjuntar, funciona muy bien cuando se esta utilizando el primer campo tipo file pero cuando se va a hacer en el segundo en adelante la validacion de tipod de archivos se pierde y ya no se ejecuta este script. Alguien me puede ayudar por favor en guiarme en donde estoy fallando, se lo agradeceria mucho.
Script que agrega o elimina dinamicamente los campos tipo file:
Código Javascript:
Ver original
<script type="text/javascript"> var numero = 0; evento = function (evt) { return (!evt) ? event : evt; } addCampo = function () { nDiv = document.createElement('div'); nDiv.className = 'archivo'; nDiv.id = 'file' + (++numero); nCampo = document.createElement('input'); nCampo.name = 'archivos[]'; nCampo.type = 'file'; a = document.createElement('a'); a.name = nDiv.id; a.href = '#'; a.onclick = elimCamp; a.innerHTML = 'Eliminar'; nDiv.appendChild(nCampo); nDiv.appendChild(a); container = document.getElementById('adjuntos'); container.appendChild(nDiv); } elimCamp = function (evt){ evt = evento(evt); nCampo = rObj(evt); div = document.getElementById(nCampo.name); div.parentNode.removeChild(div); } rObj = function (evt) { return evt.srcElement ? evt.srcElement : evt.target; } </script>
Script que valida el tipo de archivo permitido a adjuntar:
Código Javascript:
Ver original
<script type="text/javascript"> function validar(f) { enviar = /\.(jpg|pdf)$/i.test(f.archivos.value); if (!enviar) alert("seleccione imagen"); return enviar; } function limpiar() { f = document.getElementById("archivos[]"); nuevoFile = document.createElement("input"); nuevoFile.id = f.id; nuevoFile.type = "file"; nuevoFile.name = "archivos[]"; nuevoFile.value = ""; nuevoFile.onchange = f.onchange; nodoPadre = f.parentNode; nodoSiguiente = f.nextSibling; nodoPadre.removeChild(f); (nodoSiguiente == null) ? nodoPadre.appendChild(nuevoFile): nodoPadre.insertBefore(nuevoFile, nodoSiguiente); } function checkear(f) { function no_prever() { alert("El formato del archivo no es valido. Adjunte archivos con extension .(JPG,PDF)"); limpiar(); } (/\.(jpg|pdf)$/i.test(f.value)) ? prever() : no_prever(); } </script>
Campo tipo file que se muestra inicialmente para adjuntar archivos:
Código HTML:
Ver original