Foros del Web » Programando para Internet » Javascript »

Contar caracteres maximos de un textarea

Estas en el tema de Contar caracteres maximos de un textarea en el foro de Javascript en Foros del Web. Hola a todos :), Estoy intentand contar los caracteres maximos por linea de un textarea. No tendria problemas si tuviese una anchura determinada por el ...
  #1 (permalink)  
Antiguo 18/11/2011, 12:05
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Contar caracteres maximos de un textarea

Hola a todos :),

Estoy intentand contar los caracteres maximos por linea de un textarea. No tendria problemas si tuviese una anchura determinada por el parametro cols. Mi problema esta en que el textarea tiene una anchura indicada por css con width:100%.

Es decir:

Código HTML:
Ver original
  1. <textarea style="width:100%;"></textarea>

¿Se os ocurre alguna forma de calcularlo?, es que veo varios problemas. Como el que no todas las letras ocupan lo mismo, o que el usuario tenga puesto zoom al texto. Igual se podria calcular la anchura del contenido del textarea, pero no se me ocurre como.
  #2 (permalink)  
Antiguo 18/11/2011, 13:16
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Contar caracteres maximos de un textarea

Porque queres hacer algo asi?
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 18/11/2011, 14:08
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Respuesta: Contar caracteres maximos de un textarea

Hola,

Estoy haciendo un textarea de una linea con width 100%. Cuando se llena la primera linea quiero con javascript crear otra linea. En principio es sencillo, solo que no se me ocurre como detectar ese numero de forma correcta y eficiente.

Estoy pensando en poner el value del textarea en un div y calcular su offsetwidth, pero me parece un poco burrada.

Se os ocurre algun modo mas eficiente?
  #4 (permalink)  
Antiguo 18/11/2011, 14:28
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Contar caracteres maximos de un textarea

La verdad la idea en si es muy rebuscada.. no entiendo todavia el porqué queres hacerlo... y no creo que se pueda, o por lo menos no es algo sencillo modificar la funcionalidad de un elemento del DOM el cual cada browser lo utiliza como quiere.
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #5 (permalink)  
Antiguo 18/11/2011, 14:40
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Respuesta: Contar caracteres maximos de un textarea

Hola,

Si que es sencillo, aqui un ejemplo: http://samples.unijimpe.net/autoresize/ . El problema es que en sencillisimo si tiene un cols especifico. Con width 100% debo hacerlo de otro modo, mi temor antes de hacerlo, es si existe alguna sencilla de hacerlo.

:P... bueno si alguien tiene la formula magica... :)
  #6 (permalink)  
Antiguo 18/11/2011, 14:46
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Contar caracteres maximos de un textarea

Listo, fijate el codigo fuente de ese ejemplo y listo, tenes la url con la libreria js y como lo aplica ;)
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #7 (permalink)  
Antiguo 18/11/2011, 14:47
Avatar de TBS
TBS
 
Fecha de Ingreso: febrero-2007
Ubicación: Lausana
Mensajes: 69
Antigüedad: 17 años, 2 meses
Puntos: 2
Respuesta: Contar caracteres maximos de un textarea

Cita:
Iniciado por salbatore Ver Mensaje
Hola,

Estoy haciendo un textarea de una linea con width 100%. Cuando se llena la primera linea quiero con javascript crear otra linea. En principio es sencillo, solo que no se me ocurre como detectar ese numero de forma correcta y eficiente.

Estoy pensando en poner el value del textarea en un div y calcular su offsetwidth, pero me parece un poco burrada.

Se os ocurre algun modo mas eficiente?
Para nada es burrada! Crea un div oculto con el mismo ancho que tu textarea, mismo tamano de fuente, interlineado, etc. Dale a tu div la propiedad height 100% ...

Luego con Javascript haces que al mismo tiempo que escribes en el textarea, el contenido se copia para el div, solo te resta tomar la altura que va tomando la div, aplicarla al textarea y voila!

Asi he visto que funcionan mucho textareas con altura automatica...

EDITO: El div debe tener la propiedad display block, asi que para ocultar su contenido puedes usar por ejemplo text-indent
__________________
Zend Framework + HTML5 + CSS3 + Javascript
www.dayron.ch

Última edición por TBS; 18/11/2011 a las 14:52 Razón: aporte a mi solucion
  #8 (permalink)  
Antiguo 18/11/2011, 18:04
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Respuesta: Contar caracteres maximos de un textarea

Hola,

Al final lo estoy haciendo con el div oculto, aunque no me gusta mucho la idea. Un error que tengo que solventar es el manejo de cadenas de texto sin espacios que saltan de linea en textarea.

linuxzero el ejemplo que he puesto usa unas dimensiones determinadas por el parametro cols no usa un width 100%.

Bueno... si termino el script y queda elegante lo pongo aqui.

Etiquetas: caracteres, textarea
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 03:07.