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 original
nextfield = "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 original
if (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