Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/01/2013, 19:44
Avatar de ryugen
ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 15 años, 8 meses
Puntos: 187
Respuesta: contar caracteres textarea con editor de texto

Suponiendo
Código HTML:
Ver original
  1. <textarea id="editor"></textarea>

Probaría con la siguiente función :

Código Javascript:
Ver original
  1. function contarCaracteresDelTexto () {
  2.     var txt = document.getElementById('editor');
  3.     var div = document.createElement('div');
  4.     div.innerHTML = txt.value;
  5.     if(div.textContent) {
  6.         return div.textContent.length;
  7.     } else {
  8.        return div.innerText.length;
  9.     }
  10. }

Aquí hay un ejemplo para que la veas en funcionamiento: http://jsfiddle.net/wWMU9/6/

Básicamente esta función toma el contenido del textarea enriquecido (suponiendo que genere HTML válido).

Creo un nuevo elemento del DOM, al cual le inserto como su HTML interior el contenido del textarea.

Finalmente a este nuevo elemento le pido me devuelva la cantidad de caracteres de su "texto" interior, entonces en lugar de contar la cantidad de caracteres que ocupan las etiquetas del texto enriquecido, solo cuento el contenido.

Aclaración, el IF es simplemente para evitar que no funcione en algunas versiones de IE que no poseen la propiedad textContent