Foros del Web » Programando para Internet » Javascript »

Donde estoy en textarea

Estas en el tema de Donde estoy en textarea en el foro de Javascript en Foros del Web. Estoy dentro de un textarea y me gustaria saber en que posicion esta cada vez el cursor... ejemplo: si la primera letra que escribo es ...
  #1 (permalink)  
Antiguo 31/01/2002, 18:28
 
Fecha de Ingreso: enero-2002
Mensajes: 30
Antigüedad: 22 años, 2 meses
Puntos: 0
Donde estoy en textarea

Estoy dentro de un textarea y me gustaria saber en que posicion esta cada vez el cursor...
ejemplo: si la primera letra que escribo es la 1 en el textarea, la siguiente será la 2 y así sucesivamente...

y si voy atrás, iré restando la posicion del cursor...

Hay alguna manera de saber en que posición está el cursor en el textarea ?
  #2 (permalink)  
Antiguo 01/02/2002, 10:29
bet
 
Fecha de Ingreso: febrero-2001
Mensajes: 292
Antigüedad: 23 años, 2 meses
Puntos: 0
Re: Donde estoy en textarea

Algo así puede ser?
<pre>
&lt;html&gt;
&lt;head&gt;
&lt;title&gt; New Document &lt;/title&gt;

&lt;script language=&quot;JavaScript&quot;&gt;
&lt;!--
var nav4 = window.Event ? true : false;

function contar(evt){
// NOTE: Backspace = 8, Enter = 13
var key = nav4 ? evt.which : evt.keyCode;

if (key == 8){
if ((document.forms[0].msg.value.length - 1) &lt; 0){
return false;
}
else {
document.forms[0].tot.value = (document.forms[0].msg.value.length - 1);
}
}
else {
document.forms[0].tot.value = (document.forms[0].msg.value.length + 1);
}
}

//--&gt;
&lt;/script&gt;&lt;/head&gt;

&lt;body bgcolor=&quot;#FFFFFF&quot;&gt;

&lt;form method=post action=&quot;&quot;&gt;
&lt;textarea onKeyDown=&quot;contar(event)&quot; name=msg rows=10 cols=45&gt;&lt;/textarea&gt;
&lt;input readonly type=text name=tot size=5 maxlength=3&gt; Total de caracteres
&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>


<hr noshade size=1 color="#000000"><img src="http://www.gograph.com/Images-8712/ClipArt/cat03.gif" height="50" border=0 align="absmiddle"> <font size="2" face="verdana" color="#000000">bet[/CODE]
  #3 (permalink)  
Antiguo 01/02/2002, 18:15
 
Fecha de Ingreso: enero-2002
Mensajes: 30
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Donde estoy en textarea

Tu respuesta es muy buena, pero no es exactamente lo que busco... me gustaria saber la posición exacta en la que está el cursor... no un contador de caracteres...

De todas maneras gracias Bet
  #4 (permalink)  
Antiguo 02/02/2002, 00:19
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 2 meses
Puntos: 11
Re: Donde estoy en textarea

ups, a mi me sirve, gracias
  #5 (permalink)  
Antiguo 02/02/2002, 12:21
bet
 
Fecha de Ingreso: febrero-2001
Mensajes: 292
Antigüedad: 23 años, 2 meses
Puntos: 0
Re: Donde estoy en textarea

Si lo que querés saber es la ubicación del cursor dentro del textarea, eso es lo que hace el script...
Sino, podrías explicarte un poquito más por favor?

<hr noshade size=1 color="#000000"><img src="http://www.gograph.com/Images-8712/ClipArt/cat03.gif" height="50" border=0 align="absmiddle"> <font size="2" face="verdana" color="#000000">bet[/CODE]
  #6 (permalink)  
Antiguo 02/02/2002, 13:04
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Re: Donde estoy en textarea

Yo me imagino que ampliando un poco el script de Bet, se puede incluír las teclas Flecha Izquierda y Flecha Derecha para que incremente y decremente el contador y persiga la posición del cursor y no el número de caracteres, el problema se presenta con flecha Arriba y Flecha Abajo, donde no podrás predecir cuantos caracteres hay que incrementar o decrementar.

Una solución podría ser vetar esas teclas.

Si eso te resuelve, avísame y modifico el script de Bet para ayudarte.
  #7 (permalink)  
Antiguo 02/02/2002, 18:15
 
Fecha de Ingreso: enero-2002
Mensajes: 30
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Donde estoy en textarea

Bien eso ya lo hice... ya tengo todas las teclas controladas, hasta el Alt, Ctrl y Shift...
Pero como muy bien dice el compañero el problema està en la flecha arriba y abajo, y en las de inicio y avanzar página...
Evidentemente se pueden vetar... pero no me sirve, no seria un buen código

He estado pensando en controlar filas y columnas, igual es una buena solución... pero el programa empieza a ser largo... ;)
Si alguien tiene alguna otra idea ? :)

El editor de envio de mensajes de este foro lo hace mejor ... pero hay algunas cosas que no entiendo...

Un saludo y gracias...
  #8 (permalink)  
Antiguo 02/02/2002, 18:54
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Re: Donde estoy en textarea

El contador de caracteres de éste foro te dice cuantos caracteres has tipeado, no en que posición está tu cursor.

Si deseas controlar incluso flecha arriba y flecha abajo, comienza por evitar que esa caja pueda cambiar de tamaño y que el font usado pueda ser alterado con Ver/Tamaño del fuente y cosas así.

Además, en NetScape e Internet Explorer los fonts no se ven igual.
  #9 (permalink)  
Antiguo 02/02/2002, 21:30
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Re: Donde estoy en textarea

Lo que te digo del tamaño de los fonts influye porque tienes que adivinar cuantos caracteres caben en una línea.

¿Realmente crees que es indispensable ese indicador?
  #10 (permalink)  
Antiguo 04/02/2002, 01:43
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 2 meses
Puntos: 11
Re: Donde estoy en textarea

El que te paso bet esta bien, lo unico que tenes que adaptarlo un poquito. Si no queres que se vea el número de caracteres escondelo (hidden) y listo. Si necesitas consultar el número de caracteres, consultas el campo y listo.
  #11 (permalink)  
Antiguo 05/02/2002, 16:40
 
Fecha de Ingreso: enero-2002
Mensajes: 30
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Donde estoy en textarea

Kaopectate veo que tu ves por donde voy...
El tema es que utilizo el textarea como un editor para crear artículos y luego los envio a php, que actualiza la pagina.

Respondiendo a tu pregunta de porque quiero saber ese dato es:

Que al lado del textarea tengo una serie de botones que incluyen los comandos típicos de php y html, por ejemplo, &lt;html&gt;, &lt;?php,
tabulador, ... etc.

Si no se la poscicion en que esta el cursor no me sirven de nada los botones, solo he llegado a incluirlos al final del texto ya escrito,... y eso no sirve...

Si tienes mas ideas????
  #12 (permalink)  
Antiguo 05/02/2002, 22:40
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 2 meses
Puntos: 11
Re: Donde estoy en textarea

fijate en el editor de los foros, cuando envias una respuesta (el que hizo Sir), eso es lo que buscas... o no????
  #13 (permalink)  
Antiguo 06/02/2002, 02:50
Usuario no validado
 
Fecha de Ingreso: julio-2001
Mensajes: 766
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Donde estoy en textarea

mmm
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 17:24.