ayuda con onkeypress
Publicado por Oscar Medina (8 intervenciones) el 03/04/2002 17:21:04
ocupo que alguien me ayude con esto, tengo estas 2 funciones:
function checar() {
caracter = (document.layers) ? caracter.which : event.keyCode;
if (caracter >= 48 && caracter <= 57 || caracter == 46 || caracter == 13)
Calcula40();
else
return false;
}
document.onkeypress = checar;
function Calcula40() {
document.frmDesSoc.txt40Sueldo.value =
document.frmDesSoc.txtSueldo.value * 0.4;
}
la funcion checar me inabilita todas las teclas que no sean numericas, y la funcion calcula40 me calcula el 40% de alguna cantidad,
mi problema es que cuando se pulsa una tecla con el evento onkeypress mando llamar la fn checar y luego llama la fn clacula40, y luego la vuelve a llamar me hace el calculo un valor atrasado, y ocupo que lo haga al instante
ejemplo:
pulso 8 en un campo y necesito que me muestre 3.2, enseguida,
pulso 3 en el mismo campo del 8 (y ahora tengo 83), y ocupo que me muestre 33.2 el 40% de 83.
me hace el calculo atrasado porque se ejecuta el evento onkeypress y el campo donde quiero tomar el valor todavia no lo tiene, hasta que se termine de ejecutar el evento,
quisiera saber si alguien conoce algun evento que algun onkeypressup que me mande primero el valor al campo y luego ejecute el evento onkeypress
de antemano gracias.
function checar() {
caracter = (document.layers) ? caracter.which : event.keyCode;
if (caracter >= 48 && caracter <= 57 || caracter == 46 || caracter == 13)
Calcula40();
else
return false;
}
document.onkeypress = checar;
function Calcula40() {
document.frmDesSoc.txt40Sueldo.value =
document.frmDesSoc.txtSueldo.value * 0.4;
}
la funcion checar me inabilita todas las teclas que no sean numericas, y la funcion calcula40 me calcula el 40% de alguna cantidad,
mi problema es que cuando se pulsa una tecla con el evento onkeypress mando llamar la fn checar y luego llama la fn clacula40, y luego la vuelve a llamar me hace el calculo un valor atrasado, y ocupo que lo haga al instante
ejemplo:
pulso 8 en un campo y necesito que me muestre 3.2, enseguida,
pulso 3 en el mismo campo del 8 (y ahora tengo 83), y ocupo que me muestre 33.2 el 40% de 83.
me hace el calculo atrasado porque se ejecuta el evento onkeypress y el campo donde quiero tomar el valor todavia no lo tiene, hasta que se termine de ejecutar el evento,
quisiera saber si alguien conoce algun evento que algun onkeypressup que me mande primero el valor al campo y luego ejecute el evento onkeypress
de antemano gracias.
Valora esta pregunta


0