Foros del Web » Programando para Internet » Javascript »

Saber que caracter estoy borrando.

Estas en el tema de Saber que caracter estoy borrando. en el foro de Javascript en Foros del Web. Tengo un textarea y por medio del evento keyCode o charCode soy capaz de controlar cuando el usuario pulsa la tecla borrar. Pero ¿hay alguna ...
  #1 (permalink)  
Antiguo 09/09/2011, 15:25
 
Fecha de Ingreso: mayo-2007
Mensajes: 200
Antigüedad: 17 años, 5 meses
Puntos: 1
Saber que caracter estoy borrando.

Tengo un textarea y por medio del evento keyCode o charCode soy capaz de controlar cuando el usuario pulsa la tecla borrar. Pero ¿hay alguna forma de saber que letra está borrando?


Es decir, yo tengo un texto:

asdfasdfasdfasdf
asdfasdf
sadfasdf

y el usuario borra la última "f". ¿Puedo saber qué letra está borrando?
__________________
Blog: http://a-dream-of-dragon.blogspot.com
  #2 (permalink)  
Antiguo 09/09/2011, 17:36
Avatar de bitbow  
Fecha de Ingreso: julio-2006
Ubicación: Distrito Federal
Mensajes: 635
Antigüedad: 18 años, 4 meses
Puntos: 34
Respuesta: Saber que caracter estoy borrando.

Saludos,

puedes declarar en una variable global o arreglo dinamico lo que el usuario borre y acceder a esa informacion posteriormente.

Suerte.
__________________
El ego es el mayor enemigo de un hombre inteligente.
  #3 (permalink)  
Antiguo 09/09/2011, 21:59
 
Fecha de Ingreso: mayo-2007
Mensajes: 200
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: Saber que caracter estoy borrando.

Si no entiendo mal lo que me quieres decir es que compare entre la copia del texto original con la del texto modificado por el usuario para saber que carácteres ha borrado ¿no?

Pero veo el problema de que en un texto enorme, la comparación es una operación "costosa".
El textarea en realidad almacena un vector de caractares. Lo que yo quiero saber es en que posición de ese vector está situado el cursor para así saber que caracter se va a borrar.
__________________
Blog: http://a-dream-of-dragon.blogspot.com
  #4 (permalink)  
Antiguo 09/09/2011, 22:05
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, 5 meses
Puntos: 834
Respuesta: Saber que caracter estoy borrando.

Fijate si te sirve esto: http://www.disegnocentell.com.ar/notas2.php?id=206

Y un ejemplo rápido que quizá te sirva, aunque no funciona en Firefox:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Documento sin título</title>
<
script type="text/javascript">
function 
ver(e){
    var 
evt=|| event,str;
    var 
t=evt.wich || evt.keyCode;
    
    if(
t==46){
            if(
document.selection){
                
str document.selection.createRange().text;
            }else{
                
str=window.getSelection();
            }
            
document.getElementById('log').innerHTML=str;
    }
}
</script>

</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <textarea name="textarea" id="textarea" cols="45" rows="5" onkeydown="ver(event)">este es un ejemplo</textarea>
</form>
<div id="log"></div>
</body>
</html> 
Edito:
Para que funcione en todos los navegadores, incluído Firefox, sería así:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Documento sin título</title>
<
script type="text/javascript">
function 
ver(e){
    var 
evt=|| event,str;
    var 
t=evt.wich || evt.keyCode;
    var 
o=evt.target || evt.srcElement;
    if(
t==46){
            if(
document.selection){
                
str document.selection.createRange().text;
            }else{
                var 
start o.selectionStart;
                var 
end o.selectionEnd;
                
str o.value.substring(startend);
            }
            
document.getElementById('log').innerHTML=str;
    }
}
</script>

</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <textarea name="textarea" id="textarea" cols="45" rows="5" onkeydown="ver(event)">este es un ejemplo</textarea>
</form>
<div id="log"></div>
</body>
</html> 

Última edición por Panino5001; 09/09/2011 a las 22:25

Etiquetas: caracteres
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 18:33.