Hola!! Soy un poco inexperto en javascript y por más que consulto con mi amigo Google en este caso no me da solución. Utilizo un sistema de upload similar al que utiliza Gmail. Añado los campos por medio de javascript según el usuario va haciendo clic en "Añadir archivo". El codigo javascript que utilizo para hacer esto es este:
Código:
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('files');
span = c('SPAN');
span.className = 'file';
span.id = 'file' + (++numero);
field = c('INPUT');
field.name = 'archivos[]';
field.type = 'file';
a = c('A');
a.name = span.id;
a.href = '#';
a.onclick = removeField;
a.innerHTML = 'Quitar';
span.appendChild(field);
span.appendChild(a);
container.appendChild(span);
}
removeField = function (evt) {
lnk = f(e(evt));
span = d(lnk.name);
span.parentNode.removeChild(span);
}
Hasta aquí todo bien. Ahora me gustaría que antes de enviar se controlara si los archivos son imágenes. No estoy muy seguro de como hacer esto. Yo lo hago asi pero no funciona. ¿Podría ayudarme alguien diciendome cúal es el error? Gracias por vuestro tiempo.
Código:
var i
for (i=1;i<=numero;i++) {
if(formulario.archivos[i].value != "")
{
Ext = GetFileExtension(formulario.archivos[i].value);
if (Ext != "jpeg" && Ext != "jpg" && Ext != "png" && Ext != "gif") {
alert("El archivo " + i + " no es una imagen válida.");
return false;
}
}
}