Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/01/2005, 05:00
Morgui
 
Fecha de Ingreso: diciembre-2004
Ubicación: La Rioja
Mensajes: 336
Antigüedad: 20 años, 1 mes
Puntos: 2
Comprobar tamaño de imagen

Tengo una página web con el siguiente campo del tipo FILE:

<INPUT TYPE="FILE" SIZE="40" NAME="FILE1" ID="FILE1" onFocus="cambia(this.value);" onChange="cambia(this.value);">

La función cambia(), sustituye una imagen que hay en la página por otra elegida a través de dicho campo. El tamaño de la imagen tiene que ser de 460x280 pixels.

Quiero comprobar desde la función si el tamaño de la imagen es correcto, y si no lo es, que me redirija a otra página que informe sobre el error.

Esta es la función:

function cambia(foto){
if (document.forms[0].elements['FILE1'].value != ""){
foto2 = new Image();
foto2.src = 'file:///' + foto;
document.foto.src='file:///' + foto;
if (foto2.width != 460 || foto2.height != 280){
document.location ='error.asp?op=tamf';
}
}

}

La mayoría de las veces funciona bien, pero en ocasiones me redirige a la otra página sin tener que hacerlo.

He hecho muchas pruebas y lo que falla es la anchura de la imagen, que a veces la toma como 0 y no sé por qué (incluso con la misma imagen unas veces lo toma bien y otras no).

He supuesto que a lo mejor no le da tiempo de crear el objeto "foto2" y comprobar las medidas, pero no veo sentido a que si falla, siempre falle la anchura y nunca la altura.

Espero sus respuestas, gracias adelantadas