10 進数用の ASP テキスト ボックスがあります。テンキー「。」を置き換えるjscript関数があります。ユーザー カルチャで使用される小数点記号による文字 (例: en-US -> 小数点記号: "." pt-PT -> 小数点記号: ',')
ここに私の機能があります:
//method that substitutes num pad '.' with the current user culture decimal separator when num pad '.' key is hit
function onKeyDownPutDecimalSeparator(e, textBox) {
var unicode = e.charCode ? e.charCode : e.keyCode;
if (unicode == 110) {
e.returnValue = false;
e.cancel = true;
textBox.value = textBox.value.concat(decimalSeparator);
}
}
これは、chrome や IE8 を含むほとんどのブラウザーで正常に動作しますが、IE9 では置き換えではなく、ex. 1.2 -> 1,2 は次のようなことをしています:
1.2 -> 1,.2、テキスト ボックスがフォーカスを失うと、1,2
最終値「1,2」は私が望むものですが、ユーザーが実際に「1,.2」を見ることができる中間ステップはひどいものです
それに関するヒントはありますか?
ありがとう