Foros del Web » Programando para Internet » Javascript »

Como puedo realizar un evento al borrar o presionar Backspace??

Estas en el tema de Como puedo realizar un evento al borrar o presionar Backspace?? en el foro de Javascript en Foros del Web. Hola a todos. Me gustaria que me pudieran dar una idea por lo menos de como hacer con esto: He estado tratando que en una ...
  #1 (permalink)  
Antiguo 26/09/2003, 11:33
Avatar de zero_sos  
Fecha de Ingreso: noviembre-2002
Ubicación: Santo Domingo
Mensajes: 128
Antigüedad: 21 años, 5 meses
Puntos: 0
Como puedo realizar un evento al borrar o presionar Backspace??

Hola a todos.


Me gustaria que me pudieran dar una idea por lo menos de como hacer con esto:

He estado tratando que en una caja de texto de un formulario me ejecute una funcion cuando alguien presione backspace o elimine un caracter de los que tiene este.

He tratado de hacerlo en los eventos onkeypress pero este cuando le digo que si window.event.keycode == 8 (backspace) que me de una alerta sin embargo no realiza nada. Para mi que el browser no captura el codigo del BackSpace.

En fin lo que necesito es que cuando borren un caracter me envie a ejecutar una funcion.

GRacias por todo...

Att...

Zero
  #2 (permalink)  
Antiguo 26/09/2003, 11:54
Avatar de acervantes  
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 311
Antigüedad: 20 años, 9 meses
Puntos: 1
tal vez con esta funcion (no probaste en netscape no?)

function Enter(e) {
if (navigator.appName == "Netscape")
tecla = e.which;
else tecla = e.keyCode;
if (tecla =8)
window.alert("backspace");
}

----- luego la llamada a la funcion.-.--
onKeyPress="Enter(event)"
__________________
ACervantes

[El éxito dura hasta que alguien las caga; los errores son eternos]
  #3 (permalink)  
Antiguo 26/09/2003, 13:03
Avatar de zero_sos  
Fecha de Ingreso: noviembre-2002
Ubicación: Santo Domingo
Mensajes: 128
Antigüedad: 21 años, 5 meses
Puntos: 0
No me funciono .

mientras presiono Backspace pues no me da el alert...
  #4 (permalink)  
Antiguo 26/09/2003, 13:33
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, zero_sos.

En lugar de onKeyPress, utiliza onKeyDown o onKeyUp y corrige este pequeño error en el código de acervantes:

if (tecla == 8)

Saludos,
  #5 (permalink)  
Antiguo 26/09/2003, 13:46
Avatar de zero_sos  
Fecha de Ingreso: noviembre-2002
Ubicación: Santo Domingo
Mensajes: 128
Antigüedad: 21 años, 5 meses
Puntos: 0
No se si es que estoy mal o algo por el estilo pero a la verdad no me esta funcionando, aqui le estoy pasando las funciones y los eventos que estoy instanciando.

Funciones:

function backs(){
if (navigator.appName == "Netscape")
tecla = e.which
}
else {tecla = e.keyCode}

if (tecla == 8){//si es enter
alert('aqui');
document.getElementById('cl').innerHTML = '';
//return false;//Redirecciona a la seleccion del articulo.
}
}


function cantidad(e){
var key=window.event.keyCode;//codigo de tecla.
if (key < 48 || key > 57){
window.event.keyCode=0;
}
else{
contenido = document.formulario.cantidadart.value
umventa(contenido + String.fromCharCode(window.event.keyCode));
}
}

Eventos:

<input type="text" name="cantidadart" onkeypress="cantidad();" onKeyDown="backs(event);" size="20" maxlength="10">

Perdonen las molestias pero creo que algo mal debo estar haciendo para que no me funcione.

Gracias.
  #6 (permalink)  
Antiguo 27/09/2003, 03:25
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 de nuevo.

Corrige estos errores en tu código:

function backs(e ){
if (navigator.appName == "Netscape") {

Creo que lo demás está bien.

Saludos,
  #7 (permalink)  
Antiguo 29/09/2003, 10:06
Avatar de zero_sos  
Fecha de Ingreso: noviembre-2002
Ubicación: Santo Domingo
Mensajes: 128
Antigüedad: 21 años, 5 meses
Puntos: 0
Si muchas gracias a todos logre resolverlo perfectamente, todo gracias a ustedes.

Gracias por todo JavierB y acervantes.

Zero.

Última edición por zero_sos; 29/09/2003 a las 10:07
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 16:40.