Foros del Web » Programando para Internet » Javascript »

Contar caracteres de un textarea

Estas en el tema de Contar caracteres de un textarea en el foro de Javascript en Foros del Web. Tengo la siguiente función que encontré en las FAQ's del Foro para contar los caracteres de un textarea: Código PHP:   //Función para contar los elementos del textarea var  primeraVez  =  ...
  #1 (permalink)  
Antiguo 08/05/2004, 21:24
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Contar caracteres de un textarea

Tengo la siguiente función que encontré en las FAQ's del Foro para contar los caracteres de un textarea:
Código PHP:
 //Función para contar los elementos del textarea
var primeraVez true;
function 
limpia(){
 if (
primeraVez){
  
document.lvisitasform.comentarios.value "";
  
primeraVez false;
 }
}

function 
cuenta(){
 
document.lvisitasform.cantidad.value document.lvisitasform.comentarios.value.length;

ahora cuando lo hago de la forma normal, es decir, escribriendo en el textarea los cuenta bien, pero si lo que escribo viene dado por otro evento digamos el onlick de una imagen no me cuenta esos caracteres. Para explicar mejor al hacer click sobre una imagen pongo un texto dentro del textarea y quiero agregarlo al conteo de caracteres anteriores.
Como lo puedo hacer? o si alguien lo ha hecho ya y quiere cederme el codigo pues no soy muy bueno en esto de JavaScript pues mi fuerte es la programacion en PHP.

SAlu2
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 09/05/2004, 03:06
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, Reynier.

Supongo que utilizas el evento onclick para hacer algo que añada texto al textarea. Si llamas a una función anadir() podría quedar algo así:
Código:
<img src="imagen.gif" onclick="anadir(); cuenta()"/>
Espero que te sirva. Saludos,
  #3 (permalink)  
Antiguo 09/05/2004, 06:42
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Ya lo probé ...

Ya lo probé de esa forma y no me cuenta nada. Este es el código para agregar las imagenes (smilies):
Código PHP:
 //Funciones para los smilies
function getActiveText(selectedtext) {
 
text = (document.all)?document.selection.createRange().text:document.getSelection();
 if (
selectedtext.createTextRange) {
   
selectedtext.caretPos document.selection.createRange().duplicate();
 }
 return 
true;
}

function 
AddText(NewCode) {
 if (
lvisitasform.comentarios.createTextRange && lvisitasform.comentarios.caretPos) {
  var 
caretPos lvisitasform.comentarios.caretPos;
  
caretPos.text caretPos.text.charAt(caretPos.text.length 1) == ' ' NewCode ' ' NewCode;
 } else {
  
lvisitasform.comentarios.value+=NewCode;
 }
}

function 
smilie(thesmilie) {
 
AddSmilie " "+thesmilie+" ";
 
AddText(AddSmilie);

Salu2
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 23/05/2004, 14:21
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Pues nada

Puedes probar lo que me pasa aqui
http://reynierpm.variosweb.com/
ahi entras al libro de visitas y das a la opcion de firmar. Luego antes de escribir cualquier cosa inserta una carita haciendo click sobre ella y despues haz click sobre el textarea y veras lo que me pasa.
Alguien que me ayude
Salu2
__________________
Ing. Reynier Pérez Mira
  #5 (permalink)  
Antiguo 24/05/2004, 03:54
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Pon en algún sitio del código para añadir smileys lo siguiente:

primeraVez = false;

Así:

function smilie(thesmilie) {
AddSmilie = " "+thesmilie+" ";
AddText(AddSmilie);
primeraVez = false;
}
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 24/05/2004, 04:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola Reynier (y demás foreros )

He visto que en el textarea llamas a "cuenta()" con el evento onkeyup:

Prueba ponerlo en el evento onchange...

Saludos
  #7 (permalink)  
Antiguo 24/05/2004, 04:30
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Acabo de probar el uso de onchange y no me funcionó:

<html>
<head>
<script type="text/javascript">
function cuenta() {
document.forms.prueba.conteo.value = document.forms.prueba.entrada.value.length;
}

</script>
</head>
<body >
<form name=prueba >
<textarea onchange="cuenta()" onkeyup="cuenta()" name=entrada></textarea>
<input type=text name=conteo readonly/>
<input type="button" value=" xxx " onclick="document.forms.prueba.entrada.value += '[xxx] ';" />
</form>
</body>
</html>

Tal vez sea mejor llamar a la cuenta con las funciones de inserción.

saludos
  #8 (permalink)  
Antiguo 24/05/2004, 08:14
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Me podrías ...

caricatos me podrías explicar mejor un poco esto? Lo que pasa que el fuerte mio no es javascript sino PHP.

Salu2
__________________
Ing. Reynier Pérez Mira
  #9 (permalink)  
Antiguo 24/05/2004, 10:01
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Reynier, has probado lo que te dije?
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #10 (permalink)  
Antiguo 24/05/2004, 10:15
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Hola.

Probado y funcionando.

Código:
function smilie(thesmilie) {
 AddSmilie = " "+thesmilie+" ";
 AddText(AddSmilie);
 cuenta()
 lvisitasform.comentarios.focus()
}
La última línea, la he puesto para que el textarea no pierda el foco y tengas que pinchar en él para poder seguir escribiendo.

un saludo.
  #11 (permalink)  
Antiguo 24/05/2004, 11:15
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Pues 1000 gracias

Gracias a todos. KarlanKas gracias a ti. Me funciono al 100% con lo que me dijiste que hiciera.

Salu2
__________________
Ing. Reynier Pérez Mira
  #12 (permalink)  
Antiguo 24/05/2004, 14:00
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Pues mira como me alegro!! Tenía toda la pinta de que iba a ser eso.

Cualquier otra cosa ya sabes donde estamos!!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #13 (permalink)  
Antiguo 24/05/2004, 15:28
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola a todos :

A pesar de que te funciona bien, voy a explicarte mi razonamiento (tal como pedías)

Cuenta es una función que devuelve la longitud del campo value del textarea y lo muestra en otro campo de texto. Lo que importa es que se actualice con los cambios del value de ese textarea, por eso pensé que con el evento onchange serviría, pero parece que la implementación de ese evento no es del todo fiable... por esa razón el comentario de usarlo con las funciones de inserción.

Otro apunte: No sé si te importa, pero el código que tienes no es válido para mozilla.

Puse un post hace poco: http://www.forosdelweb.com/showthrea...hreadid=201547
donde explicaba como insertar cosas dentro de un textarea que funcione bien en explorer y mozilla, creo que lo mejoré algo en la versión final que tengo en mi libro de visitas: http://www.pepemolina.com/visitas/comentarios.php (hay que pinchar en el botón del pie de la página)

Como verás, yo también estuve "líado" con algo similar.

Saludos
  #14 (permalink)  
Antiguo 26/05/2004, 07:36
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
KarlanKas

Crees que si no es mucho pedir me ofrecieras el código fuente de tu Libro y desarrollar el mio propio pues me interesa poner eso de las URL y esas cosas. Mira este es mi sitio http://www.reynierpm.variosweb.com todavía está en construcción y le faltan muchas cosas, pues he estado corto de tiempo (he tenido que estudiar para las pruebas de Ensamblador, Matemática III y Física II) que he tenido por estos días.

Salu2
__________________
Ing. Reynier Pérez Mira
  #15 (permalink)  
Antiguo 27/05/2004, 16:31
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

KarlanKas... ... ¿tiene libro de visitas?

Si te referías a mi (caricatos) hazlo saber...

¿Como llevas esos exámenes?... Hace unos años me pusieron una matrícula en ensamblador, pero en esas cosas me resultaría difícil ayudarte.

Saludos
  #16 (permalink)  
Antiguo 28/05/2004, 00:10
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Caricatos!

Es cierto que tengo un libro de visitas, pero está tan escondido que creo que se refiere al tuyo. Sobre todo teniendo en cuenta que en este hilo ha salido ya a colación.

Respecto a tu matrícula en ensamblador realmente me dejas sorprendido... sin palabras, más concretamente...

Por cierto, ¡¡He aprobado el carnet de conducir!! (más vale tarde que nunca )
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #17 (permalink)  
Antiguo 28/05/2004, 01:34
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

KarlanKas:

Código PHP:
Por cierto¡¡He aprobado el carnet de conducir!! (más vale tarde que nunca
Siempre tiene que haberf un motivo para brindar ... y ahora ¡ a disfrutar de los atascos de Madrid !

Lo de la matrícula es cierto... la única en mi dilatada carrera universitaria (interminable), pero lugo cambiaron los planes de estudio (aquí en Málaga) y tuve que volver a matricularme y sigo cateando (al menos conseguí unos pocos créditos)

Tienes que enseñarme el libro de visitas (a ver si hay algo que pueda pedir prestado )
... y también, si hay algo de mi libro de visitas que te pueda interesar, no tienes más que avisarme.

Saludetes
  #18 (permalink)  
Antiguo 28/05/2004, 04:09
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Es el libro de visitas que te regalan en dinahosting: http://aitana.karlankas.net

Es la hija de un amigo mío del alma!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #19 (permalink)  
Antiguo 28/05/2004, 04:40
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Interesante, y sobre todo... emotivo.

Muy emotivo,... me ha gustado.

(la verdad es que no sé que decir...)

Desde explorer no pude abrir los popups, pero con mozilla no tuve problemas... También he reconocido el toque de tunait, y tu estilo en la página principal...

Mi consejo para "el tiito KarlanKas", es no darle paseos en coche hasta que se suelte un poco en los "atascos madrileños" (hasta que no le haga los primeros "abollones" al coche)

Un abrazote
  #20 (permalink)  
Antiguo 28/05/2004, 04:57
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
¿Para qué hacer algo nuevo si ya hay algo que hace lo que quieres y además muy bien? Pues me cojo el script de tunait (hola leporcia!) y santas pascuas!!

La página principal? aun no está, será www.karlankas.net/karlankas pero cuando esté terminado... a ver si me sacudo la pereza!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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:19.