Foros del Web » Programando para Internet » Javascript »

Validación de Campos y Verificación de archivos

Estas en el tema de Validación de Campos y Verificación de archivos en el foro de Javascript en Foros del Web. Hola a todos. Quiero realizar en mi formulario un chequeo por javascript para que valide algunos de los campos (fields) y para que verifique en ...
  #1 (permalink)  
Antiguo 23/09/2008, 23:10
 
Fecha de Ingreso: septiembre-2008
Mensajes: 1
Antigüedad: 15 años, 8 meses
Puntos: 0
Validación de Campos y Verificación de archivos

Hola a todos.

Quiero realizar en mi formulario un chequeo por javascript para que valide algunos de los campos (fields) y para que verifique en la sección de carga de archivos que los mismos que se carguen sean únicamente .jpg, .gif y .png

Este es el código que he trabajado y fusionado pero al momento de la carga de los archivos se queda pegado en el aviso y no procede al envío del formulario.

A los que puedan ayudarme les agradezco de antemano.


<script>

extArray = new Array(".gif", ".jpg", ".png");
function LimitAttach(file) {
allowSubmit = false;
if (!file) return;
while (file.indexOf("\\") != -1)
file = file.slice(file.indexOf("\\") + 1);
ext = file.slice(file.indexOf(".")).toLowerCase();
for (var i = 0; i < extArray.length; i++) {
if (extArray[i] == ext) { allowSubmit = true; break; }
}
}

function valida_envia(){
//valido el nombre
if (document.pgratis.nombre_completo.value.length==0) {
alert("Debe escribir su Nombre Completo o Razón Social")
document.pgratis.nombre_completo.focus()
return 0;
}

//valido la cedula
if (document.pgratis.Cedula.value.length==0){
alert("Debe escribir su Número de Cédula o R.I.F.")
document.pgratis.Cedula.focus()
return 0;
}

//valido la direccion
if (document.pgratis.Direccion_Facturacion.value.leng th==0){
alert("Debe escribir su Direccion de Facturación.")
document.pgratis.Direccion_Facturacion.focus()
return 0;
}

//valido la ciudad
if (document.pgratis.Ciudad.value.length==0){
alert("Debe escribir su Ciudad.")
document.pgratis.Ciudad.focus()
return 0;
}

//valido las fotos
imagen1 = document.pgratis.imagen1.file
imagen1 = LimitAttach(imagen1)
document.pgratis.imagen1.file=imagen1
if (allowSubmit) form.submit();
else
alert("Solo se aceptan archivos: "
+ (extArray.join(" ")) + "\nPor favor seleccione un archivo de imágen con la extensión adecuada e intente de nuevo.");
document.pgratis.imagen1.focus()
}
</script>



<form name="pgratis" action="http://www.mipagina.com/cgi-sys/FormMail.cgi" method="POST" enctype="multipart/form-data" onsubmit="return pgratis_Validator(this)" language="JavaScript">


<input type=button name="Enviar" value="Enviar" onclick="valida_envia()" style="font-family: Tahoma">

Última edición por duquej; 23/09/2008 a las 23:16
  #2 (permalink)  
Antiguo 24/09/2008, 01:26
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 3 meses
Puntos: 62
De acuerdo Respuesta: Validación de Campos y Verificación de archivos

hace poco que he hecho una validacion de un formulario con ficheros:

Javascript:
Código:
// funcion para validar el formulario
function validate(hau)
{
	var extension_allow=new Array('mp3','wma','avi','mpg','mpeg','mov','3gp','mp4','wmv','flv','jpg','jpeg','gif'); // extensiones validas
	var valid=true;
	var inputs=hau.getElementsByTagName('input');
	for(var i=0;i<inputs.length;i++)
	{
		var type=inputs[i].type;
		var value=inputs[i].value;		
		if(type=='text')
		{
			if(trim(value)=='')
			{
				alert('Titulo es un campo obligatorio');
				valid=false;
			}
		}
		else if(type=='file')		
		{
			if(trim(value)=='')
			{
				alert('Es obligatorio adjuntar un archivo');
				valid=false;			
			}
			else
			{
				var ext_position=value.lastIndexOf('.'); // posicion de la extension
				if(ext_position==-1)
				{
					alert('Extension no valida');
					valid=false;			
				}
				else
				{
					ext_position++;
					var ext_length=value.length-ext_position;
					var ext=value.substr(ext_position,ext_length).toLowerCase();
					if(in_array(ext,extension_allow,true)==false)
					{
						alert("Extension no valida: "+ext);
						valid=false;
					}			
				}			
			}
		}
	}
	return valid;
}
// borra espacios por la derecha y por la izquierda
function trim(text)
{
	text=text.replace(/^\s+|\st+$/g,'');
	return text;
}
// busca texto en un array
function in_array(needle, haystack, strict)
{
	// http://kevin.vanzonneveld.net
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
	// *     returns 1: true
	var found = false, key, strict = !!strict;
	for (key in haystack)
	{
		if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle))
		{
			found = true;
			break;
		}
	}
	return found;
}
HTML
Código HTML:
<form action="" method="post" onsubmit="return validate(this)" enctype="multipart/form-data">    		    	

<input name="titulo" type="text" />
<input name="file" type="file" />
<input type="submit" value="enviar" />

</form> 
Tambien se puede hacer, ponerle en la ID al final un * para que al recorrer todos los campos por javascript filtrarlos por ese * para saber si es obligatorio o no, pero bueno eso te lo dejo a ti.

Aqui solo hay ejemplos para tipo texto y tipo fichero, espero que te sirva ;)
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
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 23:40.