HTML5输入类型在IE10中不起作用

时间:2014-01-08 01:03:15

标签: javascript jquery html5 internet-explorer input

我正在编写一个大量处理日期的应用程序。

所以,我在日期时间,日期,月份和星期使用新的HTML5输入类型......

令人惊讶的是我发现这不适用于IE10。我使用的是IE版本10.0.9200。

要查看此信息,请打开该页面:Test Link

我的典型输入类型看起来像(我也使用Tweeter Bootstrap):

            <div class="col-md-8">
                <div class="form-group">
                    <label for="dateTime">Período do Relatório</label>
                    <input type="date" class="form-control" id="reportDate">
                </div>
                <script>
                    var isoString = toLocalIsoString(new Date());
                    document.getElementById("reportDate").value = isoString.substr(0, 10);
                </script>
            </div>

他们后来我改变了我需要的类型,如:

            document.getElementById('reportDate').type = 'week';

            document.getElementById('reportDate').type = 'month';

在Chrome中它工作真的很好,打开选择窗口供用户选择一周的月份,但在IE中我得到以下错误(已翻译):

0x80070057 - Javascript execution time error. Invalid argument.

所以,根据这种情况:

a)我在这里做错了什么?

b)如果没有,我如何在IE10中支持这些HTML5。

c)如果事实上这在IE10中不起作用,那么有什么类似行为的替代方案(弹出一个小窗口,以便用户选择月份,日期,星期等)。

提前感谢您的帮助。

5 个答案:

答案 0 :(得分:3)

根据Can I Use,IE不支持日期时间输入类型。一个很好的选择是jQuery UI

答案 1 :(得分:1)

也许Internet Explorer和Firefox不支持它。请在此处查看链接!

http://www.w3schools.com/html/html5_form_input_types.asp

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input

对于最后一个链接,请检查页面末尾的浏览器兼容性

答案 2 :(得分:1)

According to quirksmode,HTML5高级表单标记功能(如日期)不受支持。

答案 3 :(得分:1)

多数浏览器不支持日期输入。

由于您已在项目中使用Bootstrap,我建议您使用bootstrap-datepicker javascript插件。

答案 4 :(得分:0)

Angular JS有这个问题(所有很酷的孩子都使用它)。短期修复是在index.html中包含一个脚本引用babel-es6-polyfill。查看打字稿以供将来实施。

 <script src="node_modules/babel-es6-polyfill/browser-polyfill.min.js"></script>