html5入力タイプ番号で浮動小数点数と小数点記号を処理する方法
主にモバイルブラウザー用のWebアプリを構築しています。数値タイプの入力フィールドを使用しているため、(ほとんどの)モバイルブラウザーは数値キーボードのみを呼び出してユーザーエクスペリエンスを向上させます。このWebアプリは主に小数点ではなくカンマの領域で使用されるため、両方の小数点を処理する必要があります。 この混乱全体をドットとコンマでカバーする方法は? 私の発見: デスクトップChrome 入力タイプ=数値 ユーザーが入力フィールドに「4,55」を入力します $("#my_input").val(); 「455」を返します 入力から正しい値を取得できません デスクトップFirefox 入力タイプ=数値 ユーザーが入力フィールドに「4,55」を入力します $("#my_input").val(); 「4,55」を返します それは問題ありません。カンマをドットに置き換えて、正しい浮動小数点数を取得できます Androidブラウザー 入力タイプ=数値 ユーザーが入力フィールドに「4,55」を入力します 入力がフォーカスを失うと、値は「4」に切り捨てられます ユーザーを混乱させる Windows Phone 8 入力タイプ=数値 ユーザーが入力フィールドに「4,55」を入力します $("#my_input").val(); 「4,55」を返します それは問題ありません。カンマをドットに置き換えて、正しい浮動小数点数を取得できます ユーザーがコンマまたはドットを小数点記号として使用する可能性があり、より良いユーザーエクスペリエンスを提供するためにHTML入力タイプを数値として保持したい場合、このような状況での「ベストプラクティス」は何ですか? キーイベントをバインドして、コンマを「オンザフライ」でドットに変換できますか。数値入力で機能しますか? 編集 現在のところ、解決策はありません。タイプが数値に設定されている入力から浮動小数点値(文字列または数値として)を取得する方法。エンドユーザーが「4,55」と入力すると、Chromeは常に「455」を返し、Firefoxは「4,55」を返します。 また、Android(テスト済み4.2エミュレーター)で、入力フィールドに「4,55」と入力してフォーカスを別の場所に変更すると、入力した数値が「4」に切り捨てられるのも非常に煩わしいです。