Foros del Web » Programando para Internet » Javascript »

input file solo imagen

Estas en el tema de input file solo imagen en el foro de Javascript en Foros del Web. hola gente. estoy intentando armar un script js que solo verifique y tire un alerta si el archivo que se intenta subir no es imagen ...
  #1 (permalink)  
Antiguo 28/10/2008, 12:40
 
Fecha de Ingreso: octubre-2004
Ubicación: Uruguay
Mensajes: 386
Antigüedad: 19 años, 6 meses
Puntos: 4
input file solo imagen

hola gente. estoy intentando armar un script js que solo verifique y tire un alerta si el archivo que se intenta subir no es imagen .

Alguna ayuda?

Dejo como vengo llevando el script.

function recargo_img(valor)
{
Me estaria faltando la forma de mirar si el archivo es imagenes
%%%%
%%%%
%%%%
if (valor!=gif || ) ....
{
//borro el valor del input
obj = document.getElementById('imagen0'');
var newobj = obj.cloneNode(true);
newobj.value='';
obj.parentNode.replaceChild(newobj, obj);
alert ("debe ingresar solo imagenes");
}

}


<input type="file" name="imagen0" onChange="recargo_img(this.value)">
  #2 (permalink)  
Antiguo 28/10/2008, 13:37
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: input file solo imagen

Aquí está la función que uso.

Código PHP:
<script language="javascript">
extArray = new Array(".gif"".jpg"".jpeg");
function 
LimitAttach(file
{
    
allowSubmit false;
    if(
file)//si se selecciono un archivo
    
{
        while (
file.indexOf("\\") != -1)
        
//file.indexOf("\\") busca dentro de la cadena el caracter \ y devuelve la posicion sino retorna -1; entonces el while es mientras no retorne -1
        
{
            
file file.slice(file.indexOf("\\") + 1);//devuelve la parte de la cadena, despues de haber encontrado el \, hasta el final
        
}
        
//Aqui tenemos solo el nombre y extension del archivo
        
ext = (file.substring(file.lastIndexOf("."))).toLowerCase();
        
//ext = file.slice(file.indexOf(".")).toLowerCase();//devuelve en minuscula la parte de la cadena q esta despues del punto
        
for (var 0extArray.lengthi++) 
        {
            if (
extArray[i] == ext
            { 
                
allowSubmit true
                break; 
            }
        }
        if (
allowSubmit
        {
            return 
true;
        }
        else
        {
            
alert("Se permiten \u00fanicamente archivos con la extensi\u00f3n: " + (extArray.join("  ")) + "\nPor favor, seleccione otro archivo ""e intente de nuevo.");
            
//extArray.join(" ") devuelve los registros del array separados por un espacio en blanco
            
return false;
        }
    }
}
</script> 
Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 28/10/2008, 14:18
 
Fecha de Ingreso: octubre-2004
Ubicación: Uruguay
Mensajes: 386
Antigüedad: 19 años, 6 meses
Puntos: 4
Respuesta: input file solo imagen

Espectacular la funcion! super recomendada y funciona de maravilla!
ÇMil gracias por tu ayuda y ya te he otorgado Karma por la espectacular Ayuda que me has brindado.
Gracias Gerardo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:00.