私はIE11で私に問題を与えている入力タイプ= "数字"のフォームを持っています:いくつかの値が受け入れられ、他のものは明らかにランダムにはありません。IE11と入力タイプ= "番号"
<input type="number" style="text-align:right" min="1.00" placeholder="1,00" name="value-name" id="value" step="0.01" title="title" required/>
IE11は、9.2、9.4、9.5、9.6、9.7、9.9を受け入れますが、9.3と9.8を拒否し、いくつかの理由:
は、ここでは、コードです。これは単なる例であり、すべての数字で起こっており、その理由を理解していません。さらに、いくつかの数字は数分前に受け入れられましたが、今はもう数字ではありません。
私はヨーロッパにいるので,
は小数部の区切り文字であり、.
ではないため、これまでの値はすべて有効ではありません。代わりに,
を使用すると、IEは.
にそれを転送せず、POSTによってPHPに渡されたときにPHPのis_numeric()
がfalseを返します。
どうすればこの作業を行うことができますか?ありがとう
回避策として、サーバ側のドットでカンマを置き換えることができます 'return preg_replace("/[^ 0-9 \\。]/"、null、str_replace("、 "、"。 "、$ string) ); ' – Rulisp
また、私はこの記事をSO - https://stackoverflow.com/questions/15303940/how-to-handle-flで見てください。 oats-and-decimal-separator-with-html5-input-type-number – Rulisp
私はサーバー側で回避策を追加しました。リンクした投稿を読んで、私は 'formnovalidate'を追加してチェックを実装することにしました私のフォームとJavascriptで関数を書く。また、ドットを小数点区切り文字として使用することにしました。これは、Webページに表示される値がドットを使用するためです。しかし、今では別の問題があります。たとえば、 "6.5"のような書式でJavascript 'document.getElementById(" value ")。value'を実行すると、Firefoxは空の文字列を返します。私が小数点区切り記号としてカンマでそれを書く場合。 – RVKS