Comunidad de diseño web y desarrollo en internet online

Error en verificación de extensiones en array

Citar            
MensajeEscrito el 18 Sep 2011 06:49 am
Hola a todos, tengo un form en el que deseo validar unas imagenes, pero en caso de que no se seleccione un archivo se pueda enviar igual, necesito solamente la validación cuando el usuario selecciona un archivo. Actualmente tengo un código que funciona, pero al reves, es decir que permite subir cualquier archivo a excepción de las extensiones aceptadas.

El código es el siguiente:

Código Javascript :

     function CheckOffer()
     {
    images = document.getElementsByName('images[]');
    for (var i in images) {
    if ((/.(gif|jpeg|jpg|png)$/i.test(images[i].value)))
   {
    alert('Formato de imagenes Invalido. Recuerda que las fotos tienen que ser en formato .jpg, .jpeg,.gif o .png.');
    return false;
    }
    }
   }


El Form:

Código HTML :

<form method=post enctype="multipart/form-data" name=PostForm onsubmit="return CheckOffer();" >
        <input type=file name="images[]"><br>
      <input type=file name="images[]"><br>
      <input type=file name="images[]"><br>
      <input type=file name="images[]"><br>
      <input type=file name="images[]"><br>
      <input type=file name="images[]"><br>
      <input type=file name="images[]"><br>  
      
<input type=submit name=s1 value="Enviar">      
</form>   


De ante mano agradezco cualquier ayuda que me puedan dar, ya que no logro dar con el problema.
Muchas gracias!

Por Matias-78

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Sep 2011 05:32 pm
Realicé unos cambios, pero ahora el problema es que si o si hay que seleccionar un archivo, aunque le inidiqué que se realice la verificación siempre y cuando en input tenga más de 0 caracteres, pero no se que hago mal que no me funciona.

Código Javascript :

   function CheckOffer()
   {
    images = document.getElementsByName('images[]');
    for (var i in images) 
   {
   if(images[i].value.lenght>0){return false;}
   else if ((/.(gif|jpeg|jpg|png)$/i.test(images[i].value)))
   {
    return (true)
    }
   else 
   {
    alert('Comprueba tus fotos. Recuerda que las imagenes deben ser en formato .jpg, .jpeg,.gif o .png.');
    return false;
    }
    }
   }

Por Matias-78

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Sep 2011 07:16 pm
Sigo con los avances, de la siguiente manera me permite que los input file se dejen en blanco y en caso que se seleccione un archivo, verifica la extensión, pero solo del primer archivo del array, por ejemplo, si el primer archivo es una imagen valida, no importa que archivo extensión se seleccione después, ya que los permite igual :S, no logro hacer que la verificación se realice en todos los campos.

Código Javascript :

function CheckOffer()
   {
    images = document.getElementsByName('images[]');
    for (var i in images) 
   {
   if(images[i].value.length==0)
   {return false;}
   else if ((/.(gif|jpeg|jpg|png)$/i.test(images[i].value)))
   {
    return (true)
    }
   else 
   {
    alert('Comprueba tus fotos. Recuerda que las imagenes deben ser en formato .jpg, .jpeg,.gif o .png.');
    return false;
    }
    }
   }

Por Matias-78

16 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.