Contador javascript para TextBox Multilinea ASP.NET
Septiembre 2, 2008
Cuando se tiene un textbox con propiedad TextMode Multilinea la propiedad MaxLength ya no es validada, la siguiente funcionalidad muestra al usuario los caracteres escritos incluido los espacios y cuando llega a determinado tamaño bloquea el ingreso de mas caracteres.
Los pasos son:
- Crear el control donde se mostrara el numero de caracteres escritos.
<asp:Label ID=”lblContador” runat=”server”></asp:Label>
- Crear la funcion javascript.
<script language=”javascript” type=”text/javascript”>
function count_caract(obj)
{
cant = obj.value.length;
document.getElementById(‘lblContador’).innerHTML = cant;
if(cant>=256)
{
if (document.layers)
document.captureEvents(Event.KEYPRESS);
var keyCode = event.keyCode;
if ( keyCode == 16 || (keyCode >= 32 && keyCode <= 44) || keyCode == 46 || keyCode == 47 || (keyCode >= 58) || keyCode == 45)
event.returnValue = false;
}
}
</script>
- Registrar el javascript para el control textbox.
txtObservacion.Attributes.Add(“onkeydown”, “count_caract(this)”);
txtObservacion.Attributes.Add(“onkeyup”, “count_caract(this)”);
En este caso se valida que la longitud del texto no sobrepase los 256 caracteres, se podria mandar el tamaño máximo en caso no se quiera poner estatico en la funcion javascript, bueno eso según las necesidades de cada uno.
Entry Filed under: .NET. Etiquetas: asp.net, javascript.
5 Comments Add your own
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed
1.
nefisto | Noviembre 24, 2008 at 4:35 pm
este codigo solo funciona para letras, podrias porfavor poner alguno k sea para letras y numeros?, de antemano gracias, saludos…
2.
Karlos | Febrero 11, 2009 at 3:33 pm
Thank you.
3.
Ana | Marzo 23, 2009 at 11:25 am
Gracias por el código, tiene muy buena pinta, pero al implementarlo no aparece el número de caracteres. Algo he hecho mal. Creo que es apartir de registrar el javascript para el control textbox. ¿ese código dónde se mete?
Saludos.
4.
mililu | Marzo 23, 2009 at 3:06 pm
Ana: El registro del javascript
txtObservacion.Attributes.Add(”onkeydown”, “count_caract(this)”);
txtObservacion.Attributes.Add(”onkeyup”, “count_caract(this)”);
va en el PageLoad de la pagina. o si deseas lo puedes poner en la declaracion del control textbox:
Saludos.
5.
ONila | Abril 10, 2009 at 6:41 am
Excelente aportacion.. muchas gracias Milagros..!
Recibe Salu2.
ONil@.