jueves, 3 de diciembre de 2009

TextBox solo números

Hola, por algún tiempo, estuve desarrollando aplicaciones de escritorio (aún lo hago, pero no tan frecuente) en las cuales podemos decir que poseemos el control de todo, sin embargo, cuando damos ese paso al desarrollo Web, nos encontramos con muchos obstaculos, por ejemplo el validar lo que el usuario digita, lo cual es muy util cuando deseamos una aplicación más versatil y segura.

Bueno, cuando tenia que validar lo que el usuario digita, me encontre con que la mejor manera de hacer dicha validación es con JavaScript, ya que nos evitamos el ir hasta el servidor, así todo queda en el cliente.

Bueno lo primero que se debe hacer crear la función de javascript, en el ejemplo tengo dos funciones, una valida que solo se ingresen letras y la otra que solo sean números, las funciones realmente son muy fáciles, pero pueden extenderse aún más:

function Numeros() {
var key = window.event.keyCode;
if (key <> 57) {
window.event.keyCode = 0;
}

}

function letras() {
var key = window.event.keyCode;
if (key <> 57) {

}
else {
window.event.keyCode = 0;
}

}

En las anterioes funciones, simplemente validamos por código ascii cual fue el caracter digitado, y dependiendo del caracter cancelamos el evento o no.
Luego, en el evento load de la página, le agregamos el evento o atributo al campo o campos de texto que deseamos validar de la siguiente manera:

numerosTextBox.Attributes.Add("onKeyPress", "Numeros()")
letrasTextBox.Attributes.Add("onKeyPress", "letras()")

Lo que debemos hacer, es que al campo de texto le agregamos un nueo atributo, que seria el evento keypress.... bueno eso es todo.. un rápido y fácil ejemplo para tener un poco más de control en nuestras aplicaciones...

Puedes descargar el ejemplo aqui !!

No hay comentarios:

Publicar un comentario