web-dev-qa-db-ja.com

type = "number"のHTML5入力ボックスは、Chrome browserのコンマを受け入れません

type="number"でHTML5入力ボックスを使用しています。一部のドキュメントに関しては、lang=""属性も使用する場合は、ピリオドではなくコンマで数値を入力できるはずです。 Firefoxで動作しますが、Chromeでは動作しません(コンマは受け入れません)。入力ボックスでカンマを受け入れるようにChromeを取得するにはどうすればよいですか。私の問題は、ドイツのユーザーがピリオドの代わりにカンマを入力できることを期待していることです。

https://jsfiddle.net/byte2702/y3Lpfw7m/

Please enter a number with comma: <br/>
<input id="num" type="number" step="any" lang="de" pattern="-?[0-9]+[\,.]*[0-9]+" /> 
15

現在(2017年8月30日)、Antoine Thiryの回答はChrome(私のバージョンは60.0.3112.113)で無効になっているようです。残念ながら、他の提案はありません。 javascriptでtype = "number"をシミュレートする以外。

3
Ogier

実際、ドキュメントを正しく読んだ場合、patternサポートされていません for type=number。したがって、type=textを追加してからpattern="..."フロントエンド検証用。次のステップでは、JavaScript /コンピューティング形式と互換性がない場合、テキスト入力を実数に変換する必要があります。

2017年、まだこの一般的な問題に対する良い解決策はありません...

6
Jörn Berkefeld