Foros del Web » Programando para Internet » Javascript »

Comprobar que la imagen sea JPG

Estas en el tema de Comprobar que la imagen sea JPG en el foro de Javascript en Foros del Web. Hola, estoy intentando hacer que cuando la imagen (extension) no sea JPG salga un alert avisandolo que no es valido y no envie el formularioa ...
  #1 (permalink)  
Antiguo 16/05/2006, 17:41
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 21 años
Puntos: 7
Comprobar que la imagen sea JPG

Hola, estoy intentando hacer que cuando la imagen (extension) no sea JPG salga un alert avisandolo que no es valido y no envie el formularioa hasta que no inserte una jpg o este el campo vacio. Esto es lo que tengo pero me da error:

El campo del formulario:
Código HTML:
<input  class="registro" name="foto[]" id="foto[]" type="file" size="30" /> 
(como este campo anterior, tengo 4 más)

En la funcion de validar que envio cuando pulsan el submit:
Código HTML:
	if ((formulario.foto[0].value!="") &&  (document.formu.foto[0].value.indexOf('.jpg') == -1))
	{
	alert("El archivo Foto 1 no es valido, porfavor inserte una foto en JPG o JPGE");
	formulario.foto[0].focus();
	return false; 
	}
A ver si me podeis echar una manita please.

Última edición por Axo; 18/05/2006 a las 10:56
  #2 (permalink)  
Antiguo 16/05/2006, 18:13
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Estás usando un && cuando tendrías que usar un o (no se si es || o el OR)

La condición sería que si es vacio O si es jpeg, vos colcaste Y con lo cual no funcionará...

Checkealo

Saludos
__________________
Esteban Quintana
  #3 (permalink)  
Antiguo 16/05/2006, 18:28
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 21 años
Puntos: 7
Yo lo que quiero es: "Si el archivo esta lleno (NO ESTA VACIO formulario.foto[0].value!="") ) y si el archivo noes JPG (document.formu.foto[0].value.indexOf('.jpg') == -1)) que dga que la foto es erronea.
  #4 (permalink)  
Antiguo 16/05/2006, 18:47
 
Fecha de Ingreso: octubre-2004
Mensajes: 128
Antigüedad: 19 años, 6 meses
Puntos: 2
que error dices que te sale ?

otra forma seria verificar mime type pero con javascript no se como se maneja eso,

algo como


<img src="logo.jpg" onclick="alert(this.mimeType)">

solo funciona en explorer
  #5 (permalink)  
Antiguo 16/05/2006, 19:05
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 21 años
Puntos: 7
Cita:
Iniciado por php.java.jsp
que error dices que te sale ?

otra forma seria verificar mime type pero con javascript no se como se maneja eso,

algo como


<img src="logo.jpg" onclick="alert(this.mimeType)">

solo funciona en explorer
no me da tiempo a ver el fallo.... lo que me indicas no me silve de nada, lo que estoy haciendo no va con mostrar una imagen sino con subir una imagen desde un campo file
  #6 (permalink)  
Antiguo 16/05/2006, 19:29
 
Fecha de Ingreso: octubre-2004
Mensajes: 128
Antigüedad: 19 años, 6 meses
Puntos: 2
Cita:
Iniciado por axo
lo que tengo pero me da error:
no tienes tiempo de ver tu propio error

pregunte que error te sale en lo que pusiste, lo que yo puse eso es cosa aparte, ignoralo si no te parece
  #7 (permalink)  
Antiguo 16/05/2006, 20:46
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 21 años
Puntos: 7
Cita:
Iniciado por php.java.jsp
no tienes tiempo de ver tu propio error

pregunte que error te sale en lo que pusiste, lo que yo puse eso es cosa aparte, ignoralo si no te parece
No me referia a que no tenga tiempo para ver mi error, sino que no me da tiempo el navegador para ver la linea en la que me da error, evidentemente que tengo tiempo para el error... antes de preguntar lo he empleado para ello pero no se donde fallo y por eso pregunto... me entendistes mal o yo me explique mal... si es asi perdona. Saludos.
  #8 (permalink)  
Antiguo 18/05/2006, 10:18
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 21 años
Puntos: 7
Bueno, ya puedo ver el fallo: Me dice lo siguiente:

Error en linea 62, en dichas lineas esta esta parte del codigo:

61-if ((formulario.foto[0].value!="") && (document.formulario.foto[0].value.indexOf('.jpg') == -1))
62-{

Y el error que me describe es: 'foto.0' es nulo o no es un objeto

:s estoy ya loquito con el dichoso fallo...
  #9 (permalink)  
Antiguo 18/05/2006, 10:40
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Un par de apuntes:

Si se declara el elemento como "foto[]"... no vale referenciar ""foto[0]"... si hay un array la definición adecuada es "foto[]"[0]... para tu caso:
formulario.["foto[]"][0].value != ""

Y si el tipo de input es file (no he visto la definición), podrías tener problemas de seguridad (creo que hay navegadores que no lo permiten)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 18/05/2006, 10:57
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 21 años
Puntos: 7
Cita:
Iniciado por caricatos
Hola:

Un par de apuntes:

Si se declara el elemento como "foto[]"... no vale referenciar ""foto[0]"... si hay un array la definición adecuada es "foto[]"[0]... para tu caso:
formulario.["foto[]"][0].value != ""

Y si el tipo de input es file (no he visto la definición), podrías tener problemas de seguridad (creo que hay navegadores que no lo permiten)

Saludos
Gracias pero me sigue sin ir... me da el error de "Se esperaba un identificador"

if ((formulario.["foto[]"][0].value != "") && (document.formulario.["foto[]"][0].value.indexOf('.jpg') == -1))
  #11 (permalink)  
Antiguo 18/05/2006, 11:20
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Puse un punto de más y en el primer caso falta el elemento document:

if ((document.formulario["foto[]"][0].value != "") && (document.formulario["foto[]"][0].value.indexOf('.jpg') == -1))

Y el índice debe utilizarse en caso de tratarse de arregosl

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 07:50.