El caso es que en el evento onkeyup llamo a una funcion asi:
Código Javascript:
Ver original
<input type=text onkeyup="javascript:fun_controlCaja(event, this.id, '123');" />
y quiero que solo acepte numeros la caja de texto.
Para ello la funcion "fun_controlCaja" tiene el siguiente codigo:
Código Javascript:
Ver original
function fun_controlCaja(arg_evento, arg_idCajaTexto, arg_contenidoAceptado){ var var_codCar; var var_patronExpReg; var obj_cajaTexto = document.getElementById(arg_idCajaTexto); if(arg_evento.which){var_codCar = arg_evento.which;} else{var_codCar = arg_evento.keyCode;} alert(var_codCar); if(var_codCar!=8){ var_codCar = String.fromCharCode(var_codCar); alert(var_codCar); switch(arg_contenidoAceptado){ case '123':{ //Solo numeros enteros. (Ej: Num unidades.) var_patronExpReg = /^\d+$/; break; } } if(!var_patronExpReg.test(var_codCar)){ //Si el caracter es erroneo lo eliminamos de la caja de texto... obj_cajaTexto.value = obj_cajaTexto.value.replace(var_codCar,''); } } }
Pero no funciona el replace porque el evento onkeypress y onkeydown no escriben el caracter tecleado en la caja de texto hasta que no termina la funcion.
Y si lo pongo en el onkeyup resulta que el keyCode para una letra minuscula y mayuscula siempre es el mismo. Es decir, siempre devuelve el codigo de la mayuscula.
¿Que puedo hacer para distinguir mayusculas y minusculas en el onkeyup?
Gracias