Internet Explorer 中的日期选择器出错

Posted

技术标签:

【中文标题】Internet Explorer 中的日期选择器出错【英文标题】:Error with datapicker in internet explorer 【发布时间】:2019-05-04 17:44:04 【问题描述】:

我在标题中有这段代码:

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 

在此脚本之后,更多内容如下

 <script type="text/javascript">
            jQuery(function($) //on document.ready
            $('#datePicker').datepicker();
            ); 
        </script> 

在我的 html 中,我使用了这句话:

<input id="datePicker" name="datePicker" type="date" size="36" onkeypress="return postOnReturn(event)">

在 chrome 中我可以看到数据选择器,但在 Internet Explorer 中我只看到一个空字段。并在控制台中显示“未定义 JQUEry”的错误消息

你知道发生了什么吗?

谢谢!

【问题讨论】:

【参考方案1】:

我尝试参考您的步骤以在 IE 方面产生问题。我发现您的代码在我这边运行良好,没有任何错误。这是我的测试结果。

代码:

<!doctype html>
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 
<script type="text/javascript">
            jQuery(function($) //on document.ready
            $('#datePicker').datepicker();
            ); 
        </script> 
</head>
<body>
<input id="datePicker" name="datePicker" type="date" size="36" onkeypress="return postOnReturn(event)">

</body>
</html>

输出:

所以我们可以说这个示例代码没有任何问题,并且在 IE 中运行良好。其他一些代码行可能存在问题并导致此错误。您可以尝试再次检查代码。

如果您使用的是任何旧版本的 IE,我建议您迁移到 IE 11。它还可以帮助您解决问题。我还用各种文档模式测试了代码,它可以正常工作。

您可以尝试使用我的代码进行测试,并检查它是否运行正常。 让我们知道您的测试结果。

【讨论】:

我必须为 IE 8 或更高版本做一个日期选择器。你知道吗? @CMorillo,我无法使用 IE 8,但我尝试更改 IE 11 中的文档模式并使用 IE 8、9、10 和 IE 11 进行了测试。在所有文档模式下,您的代码工作正常。此外,IE 8 已经过时,微软目前不支持。如果可能的话,我建议您迁移到 IE 11。【参考方案2】:

这样使用

<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

<input id="datePicker" name="datePicker" type="text" size="36" onkeypress="return postOnReturn(event)">

https://jsfiddle.net/s2yku8q7/3/

【讨论】:

浏览器版本?我对 11 版本的检查工作正常。

以上是关于Internet Explorer 中的日期选择器出错的主要内容,如果未能解决你的问题,请参考以下文章

我的 Bootstrap-4 日期时间选择器无法在 Internet Explorer 上运行?是不是有任何适用于 Bootstrap 4.0 的日期时间选择器?

Internet Explorer 中的 JQuery 选择器问题

Internet Explorer 中的 jquery 1.4.4 类选择器速度缓慢

哪个 DatetimePicker 更适合 Internet Explorer

Internet Explorer 上的 :before 和 :after 选择器

频谱颜色选择器在 Internet Explorer 中不起作用