Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/02/2011, 17:03
Avatar de SirDuque
SirDuque
 
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 3 meses
Puntos: 89
Intentando mesclar dos codigos, me ayudan?

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 original
  1. nextfield = "can1";
  2. netscape = "";
  3. ver = navigator.appVersion; len = ver.length;
  4. for(iln = 0; iln < len; iln++) if (ver.charAt(iln) == "(") break;
  5. netscape = (ver.charAt(iln+1).toUpperCase() != "C");
  6. function keyDown(DnEvents) {
  7. k = (netscape) ? DnEvents.which : window.event.keyCode;
  8. if (k == 13) {
  9. if (nextfield == 'done') return true;
  10. else {
  11. eval('document.venta.' + nextfield + '.focus()');
  12. return false;
  13.       }
  14.    }
  15. }
  16. document.onkeydown = keyDown;
  17. if (netscape) document.captureEvents(Event.KEYDOWN|Event.KEYUP);

Manipulando el backspace:
Código Javascript:
Ver original
  1. if (typeof window.event == 'undefined'){
  2.    document.onkeypress = function(e){
  3.     var test_var=e.target.nodeName.toUpperCase();
  4.     if (e.target.type) var test_type=e.target.type.toUpperCase();
  5.     if ((test_var == 'INPUT' && test_type == 'TEXT') || test_var == 'TEXTAREA'){
  6.       return e.keyCode;
  7.     }else if (e.keyCode == 8){
  8.       e.preventDefault();
  9.     }
  10.    }
  11.  }else{
  12.    document.onkeydown = function(){
  13.     var test_var=event.srcElement.tagName.toUpperCase();
  14.     if (event.srcElement.type) var test_type=event.srcElement.type.toUpperCase();
  15.     if ((test_var == 'INPUT' && test_type == 'TEXT') || test_var == 'TEXTAREA'){
  16.       return event.keyCode;
  17.     }else if (event.keyCode == 8){
  18.       event.returnValue=false;
  19.     }
  20.    }
  21.  }

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
__________________
Mono programando!
twitter.com/eguimariano