Foros del Web » Programando para Internet » Javascript »

Contar-Limitar caracteres en un input tex

Estas en el tema de Contar-Limitar caracteres en un input tex en el foro de Javascript en Foros del Web. Hola : Buscando como limitar los caracteres en un input text, di con este codigo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < html > < ...
  #1 (permalink)  
Antiguo 01/05/2011, 07:54
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Contar-Limitar caracteres en un input tex

Hola :

Buscando como limitar los caracteres en un input text, di con este codigo:

Código HTML:
Ver original
  1. <html>
  2. <head>
  3.     <title>Untitled</title>
  4.     <script>
  5.     function contar(esto){
  6.     cuantas=esto.length
  7.     if(cuantas>99){document.forms[0].cosa.value=esto.substring(0,99)}
  8.     document.forms[0].total.value=cuantas;
  9.      
  10.     }
  11.      
  12.     </script>
  13. </head>
  14.  
  15. <body>
  16. <form>
  17. <textarea cols="20" rows="5" name="cosa" onkeydown="contar(this.value)"></textarea>
  18. <input type="text" name="total" id="total" size="3" maxlength="3" value=0 readonly>
  19. </form>
  20.  
  21.  
  22. </body>
  23. </html>

Pero me gustaria saber como hacer para que por ejemplo tenga un minimo u un maxino de caracteres.

Un saludo
  #2 (permalink)  
Antiguo 01/05/2011, 08:03
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Contar-Limitar caracteres en un input tex

Para que tenga un mínimo simplemente tenés que crear una validación aparte, verificando si la propiedad length de la propiedad value del campo (document.forms[0].cosa.value.length) es o no menor que el valor deseado. Esa validación podrías hacerla usando el evento onblur del campo o el evento onsubmit del formulario.
  #3 (permalink)  
Antiguo 01/05/2011, 08:06
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: Contar-Limitar caracteres en un input tex

Muchas gracias por tu respuesta...

Pero ahora para tontas jajjaja, no soy muy experta en este tema


Un saludo
  #4 (permalink)  
Antiguo 01/05/2011, 08:18
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Contar-Limitar caracteres en un input tex

Ya ahí no puedo ayudarte demasiado. No tengo la capacidad de explicarlo más claramente sin hacerlo, y eso no te ayudará en nada.
  #5 (permalink)  
Antiguo 01/05/2011, 17:12
Avatar de fodsite  
Fecha de Ingreso: agosto-2005
Ubicación: Talca
Mensajes: 20
Antigüedad: 18 años, 8 meses
Puntos: 3
Respuesta: Contar-Limitar caracteres en un input tex

Bueno aquí tienes la respuesta que propone el amigo Panino, se le agrega una función que se ejecuta al momento de enviar el formulario.

Código HTML:
Ver original
  1.     <head>
  2.         <title>Untitled</title>
  3.         <script>
  4.         function contar(esto){
  5.             cuantas=esto.length
  6.             if(cuantas>99){
  7.                 document.forms[0].cosa.value=esto.substring(0,99)
  8.             }
  9.             document.forms[0].total.value=cuantas;
  10.          
  11.         }
  12.         function validaFrm(){
  13.             var cosa = document.forms[0].cosa.value;
  14.             if(document.forms[0].cosa.value == "" || cosa.length < 15){
  15.                 alert('Ingreso al menos 15 caracteres');
  16.                 document.forms[0].cosa.focus();
  17.                 return false;
  18.             } else if(cosa.length > 100){
  19.                 alert('El número de caracteres es mayor a 100');
  20.                 document.forms[0].cosa.focus();
  21.                 return false;
  22.             }
  23.             return true;
  24.         }
  25.         </script>
  26.     </head>
  27.      
  28.     <body>
  29.     <form method="post" action="" onsubmit="return validaFrm()">
  30.     <textarea cols="20" rows="5" name="cosa" onkeydown="contar(this.value)"></textarea>
  31.     <input type="text" name="total" id="total" size="3" maxlength="3" value=0 readonly>
  32.     <input type="submit" name="enviar" value="Enviar" />
  33.     </form>
  34.      
  35.      
  36.     </body>
  37.     </html>

Recuerda que esta validación es sólo a través de Javascript, luego tienes que validar con tu lenguaje de lado servidor para que se cumplan las mismas condiciones.
  #6 (permalink)  
Antiguo 02/05/2011, 12:48
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: Contar-Limitar caracteres en un input tex

Hola:

Genial¡¡¡¡

Esta de miedo con esto me apaño de muerte.

Pero a ver si te gustan los retos jajajjaja: puede salir una alerta cuando llegas al tope superior, osea en este ejemplo, cuando alcances los 100 caracteres...

Gracias de todas maneras, lo diccho eres un monstruo
  #7 (permalink)  
Antiguo 06/10/2011, 16:12
 
Fecha de Ingreso: mayo-2009
Mensajes: 6
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Contar-Limitar caracteres en un input tex

Muchas gracias amigo,

Precisamente es lo que necesitaba


function validaFrm()

Etiquetas: caracteres, input, tex
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 09:26.