Chalalo Land

Tecnologías ASP.NET y un poco Más

Contacto


 Si quierer cooperar, yo feliz, muy agradecido :)

De donde me Visitan?

Locations of visitors to this page

Generic Content

Si te gustaron los articulos, y te animas te estaría muy agradecido!


Recent Posts

Tags

Community

Blogs de MVP

Amigos Geeks

Blogs Imperdibles

GODS

Archives

Email Notifications

[Tip] - JQuery Masked Input Plugin + ASP.NET

image

Hola, que tal? otra vez voy a escribir sobre un Plugin que les puede servir mucho para sus desarrollos, especialmente en ASP.NET Web Forms, en donde mientras más podemos evitar los postback para validaciones simples, mucho mejor. Si bien hay un control MaskedEdit en el Ajax Control Toolkit, es posible que no queramos incluir esta DLL para solo tener la funcionalidad de la máscara, o que quieras utilizarlo por ejemplo con ASP.NET MVC o PHP. El plugin del que hablo es JQuery Masked Input de digitalbush.com.  Si bien, hay varios plugins que hacen lo mismo, me llamó la atención este por su simpleza de uso.

Este plugin ha sido testeado con IE 6/7/8/9 , Firefox 1.5/2/3x, Safari, Chrome y Opera, por lo que nos da seguridad que funcionará para la mayoría de los usuarios. Las máscaras predefinidas son:

  • a – Representa una letra (A-Z,a-z)
  • 9 – Representa un número (0-9)
  • * -  Representa una letra o número(A-Z,a-z,0-9)

Se está trabajando para dar soporte a más símbolos para las máscaras, pero por mientras, esto ya nos sirve bastante.

Para utilizarlo, primero debemos incluir los Script, puedes bajar los archivos desde aquí, entonces los agregamos a nuestra Web Form.

<script type="text/javascript"
         src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js"> 
</script>
<script src="js/jquery.maskedinput-1.2.2.js"type="text/javascript"></script>

Para el ejemplo, agregué los siguientes campos:

image

Ahora el código que asocia el plugin con los campos de texto:

<script type="text/javascript">

        jQuery(function($) {

            $("#TxFecha").mask("99/99/9999");

            $("#TxFono").mask("(999) 999-9999");

            $("#TxPatente").mask("aaaa-99");

            $("#TxNumeros").mask("999.999");

            $("#TxLetras").mask("aaaa");

        });

</script>

Me gustó la opción de que si no estamos conforme con el clásico símbolo “_” para la mascara, entonces fácilmente podemos reemplazarla, por ejemplo con “*”, que se ve horriblemente feo:

$("#TxFecha").mask("99/99/9999",{ placeholder: "*"});image

Sin embargo podemos también dejar vacío el atributo placeholder

$("#TxFecha").mask("99/99/9999",{ placeholder: " "});image

Además se pueden definir nuestras propias definiciones de máscaras, por ejemplo, permitir el signo “+” o “-"

$.mask.definitions['~'] = '[+-]';

$("#TxNumeros").mask("~999.999");

image

Como ven, algo sencillo, si bien creo que de todos modos le falta un poco de maduración, como el tema de pasar como argumento una función para cuando se completa el llenado del input según la máscara, que lo estuve probando pero no tuve resultados, sin embargo, con lo que vimos, podemos lograr buenos resultados

Espero que les sirva!!
Gonzalo

Posted: 5/1/2011 17:04 por Gonzalo Perez | con 4 comment(s)
Archivado en: ,,
Comparte este post:

Comentarios

Sergio ha opinado:

ESTA MUY BUENO ESTO.

GRACIAS CHALALO. AUNQUE EN EL CASO DE LA PATENTE YO HUBIERA ECHO EL EJEMPO CON **-**-99 para no Excluir las patentes antiguas.

Saludos.

# January 5, 2011 9:12 PM

Sergio ha opinado:

ESTA MUY BUENO ESTO.

GRACIAS CHALALO. AUNQUE EN EL CASO DE LA PATENTE YO HUBIERA ECHO EL EJEMPO CON **-**-99 para no Excluir las patentes antiguas.

Saludos.

# January 5, 2011 9:15 PM

Gonzalo Perez ha opinado:

Toda la razon!, estaba pensando solo en autos nuevos :P

saludos,

Gonzalo

# January 6, 2011 1:25 PM

patriciaFF ha opinado:

Funciona perfecto!! , que pena que la validación sea de el mismo largo de los datos ingresados, o sea si quiero en un campo de texto ingresar valores numéricos  1234,

debo ingresar la  misma cantidad de números asignados  999.999.

thxs

# March 27, 2012 11:28 PM