Foros del Web » Programando para Internet » Javascript »

Reemplazar caracter en la posición del cursor

Estas en el tema de Reemplazar caracter en la posición del cursor en el foro de Javascript en Foros del Web. Saluditos: A ver, estoy intentando hacer un script cuyo funcionamiento de forma general es simular la tecla INSERT de teclado, pero sin pulsarla. En rasgos ...
  #1 (permalink)  
Antiguo 25/10/2006, 05:09
 
Fecha de Ingreso: octubre-2006
Mensajes: 9
Antigüedad: 17 años, 6 meses
Puntos: 0
Reemplazar caracter en la posición del cursor

Saluditos:

A ver, estoy intentando hacer un script cuyo funcionamiento de forma general es simular la tecla INSERT de teclado, pero sin pulsarla.

En rasgos generales consiste en:
Tengo un input de tipo texto, con un tamaño máximo que no se puede sobrepasar. Cuando el número de caracteres coincide con el tamaño máximo, al situar el cursor delante de algún caracter, y volver a pulsar una tecla, quiero que reemplace el caracter situado en esa posición del cursor, por el nuevo caracter introducido por teclado.

Es que no sé si realmente se puede hacer. Sé insertar caracteres en la posición del cursor (se añade) pero no soy capaz de sustituir uno por otro. Lo fácil sería usar la tecla insert, pero no me vale porque hay cierto control de teclado.

Gracias por adelantado ;)
  #2 (permalink)  
Antiguo 25/10/2006, 05:12
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 10 meses
Puntos: 0
Supongo q si puedes insertar en la posición podrás modificar el value del campo y con el método charAt cambiar el caracter. Es una idea. Pon el código q usas y veremos las modificaciones.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #3 (permalink)  
Antiguo 25/10/2006, 05:16
 
Fecha de Ingreso: octubre-2006
Mensajes: 9
Antigüedad: 17 años, 6 meses
Puntos: 0
Pero para usar charAt necesito saber la posición del cursor respecto al value del campo, y lo que no sé es cómo asociar la posición del cursor con la posición del caracter correspondiente dentro del value.
  #4 (permalink)  
Antiguo 25/10/2006, 05:30
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 10 meses
Puntos: 0
Cita:
Iniciado por Rebu82 Ver Mensaje
Sé insertar caracteres en la posición del cursor (se añade) pero no soy capaz de sustituir uno por otro.
Al leer eso asumí q lo estabas haciendo con javascript, ejem. Disculpame pues no tengo ni idea de cómo se puede localizar la posición del cursor en un campo de texto. A ver si alguno de los sabios nos ilumina pues es interesante tu pregunta.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #5 (permalink)  
Antiguo 25/10/2006, 06:10
 
Fecha de Ingreso: octubre-2006
Mensajes: 9
Antigüedad: 17 años, 6 meses
Puntos: 0
Sí, es en javascript, claro.

Encontré algo similar en: programacion.com/foros/3/msg/183533/
Es la función insertAtCaret, pero inserta un texto entre medias, y lo que necesito es reemplazar el texto escrito desde la posición del cursor dentro del input.

Estoy buscando información sobre el objeto carePos, pero no encuentro nada :(
  #6 (permalink)  
Antiguo 25/10/2006, 06:15
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
No sé si esto te sirva para algo:
bebecode
  #7 (permalink)  
Antiguo 25/10/2006, 09:21
 
Fecha de Ingreso: octubre-2006
Mensajes: 9
Antigüedad: 17 años, 6 meses
Puntos: 0
Pero por lo q he visto hace lo mismo, insertar "algo" en la posición del cursor, pero hay algún ejemplo que reemplace un texto por otro?
(cierto es que lo he mirado por encima...).

Un saludo y gracias.
  #8 (permalink)  
Antiguo 25/10/2006, 09:47
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Si estudiás el código, vas a darte cuenta de que lo que hace es reemplazar el texto seleccionado por otro. Lo que sucede es que en este caso el texto de reemplazo se 'arma' incluyendo el texto seleccionado, pero podría modificarse para que se reemplace por uno diferente. Sólo tenés que estudiar el código un poco. Es decir, tenés la caña y los medios para aprender a pescar.
  #9 (permalink)  
Antiguo 25/10/2006, 10:21
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 10 meses
Puntos: 0
Cuando encuentres la solución postéala. Me interesa el código x si en un futuro me es necesario.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #10 (permalink)  
Antiguo 26/10/2006, 02:27
 
Fecha de Ingreso: octubre-2006
Mensajes: 9
Antigüedad: 17 años, 6 meses
Puntos: 0
Cita:
Iniciado por Panino5001 Ver Mensaje
Si estudiás el código, vas a darte cuenta de que lo que hace es reemplazar el texto seleccionado por otro. Lo que sucede es que en este caso el texto de reemplazo se 'arma' incluyendo el texto seleccionado, pero podría modificarse para que se reemplace por uno diferente. Sólo tenés que estudiar el código un poco. Es decir, tenés la caña y los medios para aprender a pescar.
Muchas gracias por tu respuesta ;)

Aún así, sigo sin verlo del todo claro. Para reemplazar es imprescindible seleccionar el texto, pero yo no quiero seleccionarlo, y sino lo selecciono no sé cómo obtener los caracteres que están detrás del cursor; el q quiero reemplazar es justo el q está detrás del cursor.
  #11 (permalink)  
Antiguo 27/10/2006, 03:55
 
Fecha de Ingreso: octubre-2006
Mensajes: 9
Antigüedad: 17 años, 6 meses
Puntos: 0
Sigo sin sacarlo, creo q me rindo.

¿Alguien sabe las propiedades o métodos del objeto caretPos?
  #12 (permalink)  
Antiguo 27/10/2006, 06:16
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Fijate si esto te sirve:
http://www.course.com/downloads/newp...HTML02.html#T1
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 13:16.