Este es mi dilema. Estoy desarrollando una aplicación y necesito deshabilitar la tecla backspace para evitar que el usuario, accidental o voluntariamente, regrese en el historial del browser. Para ello utilizo el siguiente código:
Cita:
Este es un código que además me permite deshabilitar la tecla F5. document.onkeydown = function()
{
e=window.event;
if(!window.event)return false;
if(e.keyCode == 37 && e.altKey==true )
{return false;}
if((e.keyCode == 116 || e.keyCode == 82) && e.ctrlKey==true)
{return false;}
if(window.event && window.event.keyCode == 116) //F5
{window.event.keyCode = 505;}
if(window.event && window.event.keyCode == 08) //BACKSPACE
{window.event.keyCode = 505;}
if(window.event && window.event.keyCode == 505)
{return false;}
}
{
e=window.event;
if(!window.event)return false;
if(e.keyCode == 37 && e.altKey==true )
{return false;}
if((e.keyCode == 116 || e.keyCode == 82) && e.ctrlKey==true)
{return false;}
if(window.event && window.event.keyCode == 116) //F5
{window.event.keyCode = 505;}
if(window.event && window.event.keyCode == 08) //BACKSPACE
{window.event.keyCode = 505;}
if(window.event && window.event.keyCode == 505)
{return false;}
}
Hasta aquí no hay ningún problema. Sin embargo encontré una "falla" en el concepto y es que, obviamente, el usuario no podrá ya usar la tecla backspace para corregir algo que haya escrito.
Y es ahí donde tengo el dilema. He estado tratando de ver la posibilidad de hacer algo como esto (figurativamente por cierto)
Cita:
En resumen mi problema es el siguiente:<input type="text" name="datos" size="20" class="botonInput" onKeyPress="habilitarBackspace();" onBlur="deshabilitarBackspace();">
1. Necesito evitar que el usuario pueda regresar en el historial de navegación haciendo uso de la tecla backspace (el botón de retroceso del browser parece que no se puede deshabilitar)
2. Necesito habilitar, temporalmente y sólo en ciertos campos (input y text) la tecla backspace PERO SÓLO para la edición de datos más no para el retroceso en el historial (de ahí la idea de volver a habilitarla con el evento onBlur )
Si alguien tiene alguna idea o sugerencia, les voy a quedar muy agradecido.
Un saludo desde Lima, Perú