Foros del Web » Programando para Internet » Javascript »

Comprobar tipos

Estas en el tema de Comprobar tipos en el foro de Javascript en Foros del Web. En una página jsp tengo unas casillas para que rellene el usuario, ¿puedo comprobar con javascript que el usuario ha introducido fechas y números? y ...
  #1 (permalink)  
Antiguo 08/05/2007, 01:02
nae
 
Fecha de Ingreso: abril-2007
Mensajes: 37
Antigüedad: 17 años
Puntos: 1
Pregunta Comprobar tipos

En una página jsp tengo unas casillas para que rellene el usuario, ¿puedo comprobar con javascript que el usuario ha introducido fechas y números?
y si no es correcto, ¿puedo dar una aviso sin perder el resto de los datos introducidos en la página?
Gracias, un saludo
  #2 (permalink)  
Antiguo 08/05/2007, 07:49
Avatar de Kolzer  
Fecha de Ingreso: julio-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 20 años, 9 meses
Puntos: 0
Re: Comprobar tipos

Pues si, lo poco que di de javascript fue justamente para eso.
Te cuento la idea de lo que me enseñaron:

En el formulario, despues de acabar los input del tipo texto, pones al final un simbolo que quieras para avisar del error (yo por ejemplo usaba *).
Entonces le das un class="novisible" y en el css .novisible{visibility:hidden;}
y le tendras que decir a qué funcion del javscript llamará cuando haga cambios en el campo de texto. Por ejemplo el codigo que usaba:

Código HTML:
<input type="text" id="nombre" name="nombre" size="15" maxlength="15" onchange="javascript: return f_val_nombre(window.document.forms['form_id'].elements['nombre'].value, 'nombre_class', 'visible', 'novisible')"/>
<span id="nombre_class" class="novisible"> * </span> 
La funcion que uso como ves es f_val_nombre, y su codigo seria asi:

Código:
//valida el nombre. El campo no puede estar vacio ni tener numeros, solo letras, y la primera en mayuscula.
function f_val_nombre(nombre, id_class, si, no) {
	var a = window.document.getElementById(id_class);
	if (f_isAllLetter(nombre)) {
		a.className = no;
		return true;
	} else { 
		a.className = si;
		return false;
	}
}
Tambien se pueden hacer funciones para validar una fecha tipo 15/10/1976 pero bueno buscando encontraras muchas parecidas, y para validar que solo se introducen numeros tambien es muy sencillo, hay muchas formas, una de ellas (personalizable basandose en la tabla ascii, por eso la pongo):

Código:
// Devuelve true si todos los caracteres de la cadena son numeros y false si no.
function f_isAllNumber(cadena) {
	if (cadena.length == 0) {
		return false
	} else {
	var a, i, aux
	aux = String(cadena); a = true;	
	for (i = 0; i < aux.length && a; i++) {
	// Dos formas de hacer lo del codigo ASCII:
	//		cadena.charAt(i) < "{"
	//		cadena.charCodeAt(i) < 123
		a = aux.charCodeAt(i) < 58 && aux.charCodeAt(i) > 47
	}	
		return a
	}
}
__________________
I'm digging my way to something better...

Última edición por Kolzer; 08/05/2007 a las 07:56
  #3 (permalink)  
Antiguo 09/05/2007, 04:33
nae
 
Fecha de Ingreso: abril-2007
Mensajes: 37
Antigüedad: 17 años
Puntos: 1
Re: Comprobar tipos

Muchas gracias, creo que me va a ser muy útil, ahora mismo estoy liadilla con otra cosa, pero en cuanto acabe me pongo a comprobar tipos a ver qué tal se me da.
Un saludo!
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 00:01.