en lugar de deteccion de teclas, yo usaria expresiones regulares. en el siguiente ejemplo, la validacion se realiza cuando el textbox pierde foco (onblur) pero tambien lo podrias hacer cuando se levante una tecla (onkeyup):
Código:
<input type='text' onblur='validate(this);' />
<script>
function validate(input){
if(/[^0-9,]/.test(input.value))input.value = input.value.replace(/[^0-9,]/g,'');
}
</script>