Foros del Web » Programando para Internet » Javascript »

Validación de formularios

Estas en el tema de Validación de formularios en el foro de Javascript en Foros del Web. Buenas, necesito ayuda, estoy intentando hacer que se validen unos campso de texto de un formulario, pero segun lo que elijas, hay tal cantidad de ...
  #1 (permalink)  
Antiguo 11/11/2012, 20:30
Avatar de roal40  
Fecha de Ingreso: enero-2012
Mensajes: 61
Antigüedad: 12 años, 1 mes
Puntos: 4
Validación de formularios

Buenas, necesito ayuda, estoy intentando hacer que se validen unos campso de texto de un formulario, pero segun lo que elijas, hay tal cantidad de forms, el problema es que tengo este codigo:

Código HTML:
<script type="text/javascript">
//funcion que es llamada en el evento submit del formulario
function fntValidar(){
	//obtener el formulario para utilizarlo en la validacion
	var frmFormulario=document.forms['formcontacto'];
	//contar la cantidad de elementos que contiene el formulario
	var iElementos=frmFormulario.elements.length;
			
	//recorrer todos los elementos del formulario
	for(var iCont=0;iCont<iElementos;iCont++){
		//obtener el elemento actual para utilizarlo
		var objElemento=frmFormulario.elements[iCont];
				
		//validar unicamente los elementos del tipo "text" (campos de texto)
		if(objElemento.type=='text'){
			if(objElemento.style.display=="block"){
			/*estamos utilizando la funcion trim (funcion no propia de JavaScript)
			para eliminar los espacios en blanco al inicio y final de una cadena*/
			if(trim(objElemento.value)==''){
				//mostramos un mensaje al usuario
				alert('Por favor, complete todos los campos del formulario.');
				//enfocamos el campo que exta vacio
				objElemento.focus();
				//borramos el contenido del campo (podria contener espacios en blanco)
				objElemento.value='';
				//devolvemos false para que el formulario no sea procesado
				return false;
			}
			
		}
		}
	}
			
	//llegamos hasta aqui solo en caso de que todos los campos no esten vacios
	//le preguntamos al usuario si desea almacenar los datos
	if(!confirm('�Desea almacenar los datos actuales?')){
		//el usuario indica que no desea almacenar los datos
		//entonces devolvemos false para que el formulario no sea procesado
		return false;
	}
}
</script> 
Como ven he añadido la linea:

Código HTML:
		if(objElemento.type=='text'){
			if(objElemento.style.display=="block"){
El problema es que siempre me sale como correcto, no se que hacer, ayuda porfavor
  #2 (permalink)  
Antiguo 12/11/2012, 11:01
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años
Puntos: 47
Respuesta: Validación de formularios

creo que el problema esta en el if (objElemento.style.display == "block") generalmente si mal no recuerdo para acceder a esta propiedad (sin usar jQuery) debes haberla seteado antes de hacer la consulta x ej:

Esto no deberia funcionar:
Código Javascript:
Ver original
  1. var miDiv = document.getElementById("idElemento");
  2. if (miDiv.style.display == "block") // Resto del codigo

Esto puede ser que funcione: (no estoy seguro :P)

Código Javascript:
Ver original
  1. var miDiv = document.getElementById("idElemento");
  2. miDiv.style.display = "block";
  3. if (miDiv.style.display == "block") // Resto del codigo

Con jQuery puedes consultar la propiedad sin declararla previamente:

Código Javascript:
Ver original
  1. if ($("#idElemento").css("display") == "block") // Resto del codigo

Saludos
  #3 (permalink)  
Antiguo 16/11/2012, 19:40
Avatar de roal40  
Fecha de Ingreso: enero-2012
Mensajes: 61
Antigüedad: 12 años, 1 mes
Puntos: 4
Respuesta: Validación de formularios

Ya nada, lo acabé averiguando yo jajaja
  #4 (permalink)  
Antiguo 16/11/2012, 21:55
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Validación de formularios

Cita:
Iniciado por roal40 Ver Mensaje
Ya nada, lo acabé averiguando yo jajaja
No le veo la gracia, en todo caso agradecé a quien intentó darte una respuesta y mostrá como lo resolviste en beneficio de otros usuarios

__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: formulario, funcion, validar
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 02:19.