He buscado en el foro y no he encontrado nada al respecto.
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 originalfunction 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