hola chicos, tengo dos codigos, que utilizan la manipulacion de las teclas....
Uno: dentro de un FORM utiliza el
enter(13) , para saltar entre campos en un determinado orden.
Y el otro: al
backspace(8) no lo deja retrocedes pero si borrar dentro de un textarea o input Text.
el problema que el segundo (backspace '8') anula el primero, y al apretar enter, se envia el form. :S
ak estan los dos codigos.
Manipulando el enter:
Código Javascript
:
Ver originalnextfield = "can1";
netscape = "";
ver = navigator.appVersion; len = ver.length;
for(iln = 0; iln < len; iln++) if (ver.charAt(iln) == "(") break;
netscape = (ver.charAt(iln+1).toUpperCase() != "C");
function keyDown(DnEvents) {
k = (netscape) ? DnEvents.which : window.event.keyCode;
if (k == 13) {
if (nextfield == 'done') return true;
else {
eval('document.venta.' + nextfield + '.focus()');
return false;
}
}
}
document.onkeydown = keyDown;
if (netscape) document.captureEvents(Event.KEYDOWN|Event.KEYUP);
Manipulando el backspace:
Código Javascript
:
Ver originalif (typeof window.event == 'undefined'){
document.onkeypress = function(e){
var test_var=e.target.nodeName.toUpperCase();
if (e.target.type) var test_type=e.target.type.toUpperCase();
if ((test_var == 'INPUT' && test_type == 'TEXT') || test_var == 'TEXTAREA'){
return e.keyCode;
}else if (e.keyCode == 8){
e.preventDefault();
}
}
}else{
document.onkeydown = function(){
var test_var=event.srcElement.tagName.toUpperCase();
if (event.srcElement.type) var test_type=event.srcElement.type.toUpperCase();
if ((test_var == 'INPUT' && test_type == 'TEXT') || test_var == 'TEXTAREA'){
return event.keyCode;
}else if (event.keyCode == 8){
event.returnValue=false;
}
}
}
La verdad no me llevo bien con javascript, y los dos codigo fueron sacado de la web, y como no los hice yo, me pierdo y no se donde modificar para poder utilizarlos, en la misma hoja.
me imagino que problema viene al llamar document.onkeydown
Agradesco toda la ayuda xD