31172


HTML5で入力フォームを作成したのですが、type=numberとしたinputタグにおいて、特定の数値が入力チェックに引っかかります。  
Windows7(64bit)、Windows10(64bit)で確認したところ、以下の状況となっています。

  * Windows7 IE11では「有効な値を入力してください」というメッセージが表示され、送信できません。
  * Windows7にインストールした、Firefox、Chromeではデータを送信できます。
  * Windows10 IE11およびEdgeでは、データを送信できます。

再現するHTMLを記載します。

[code]

    <!DOCTYPE html><html><body><form>
    <input type="number" value="52429.2" step="0.1">
    <input type="number" value="6990.73" step="0.01">
    <input type="number" value="524.305" step="0.001">
    <button type="submit">GO</button></form></body></html>
    
[/code]

上記の数値ではメッセージが出るのですが、step分を増減するとメッセージが出なくなります。  
上記のほかにも、52429.7などで同様のメッセージが出ています。

ひとまず、JavaScriptを経由することで回避できそうなので、私にとっての緊急性はなくなったのですが、  
HTMLのみでは、どのように実装すればよかったのでしょうか。  
属性の設定が漏れているのか、IE11の挙動としてこういうのがあるのか分かりませんでした。

よろしくお願いいたします。

※Microsoftのフォーラムで同じ質問を投げましたが、回答を得られませんでした。マルチポストになります、すみません。  
<https://answers.microsoft.com/ja-
jp/ie/forum/ie11-windows_7/input/9ae12b00-5136-4e69-8190-ecc59fe3af1e>


CC BY-SA 3.0
2016-12-14T04:42:31.503
31141
2016-12-16T01:36:37.957
19913
question
html5 internet-explorer
input type=numberの入力チェックについて


これがWindows7
IE11の[バグ](https://connect.microsoft.com/IE/feedback/details/850187/html5-constraint-
validation-is-broken-in-ie11-for-input-type-number)です。  
Windows10でThreshold 2 / Version 1511 / Build
10586にてフィクスされましたが、Windows7ではそのまま残ってしまいました。

Javascriptを経由しなくて実装したい場合、valueもstepも小数点以下4桁まで記述してください。

[code]

    <!DOCTYPE html><html><body><form>
    <input type="number" value="52429.2001" step="0.0001">
    <input type="number" value="6990.7301" step="0.0001">
    <input type="number" value="524.3051" step="0.0001">
    <button type="submit">GO</button></form></body></html>
[/code]


CC BY-SA 3.0
2016-12-16T01:36:37.957
31172
2016-12-16T01:36:37.957
13152
31141
answer