PHPCMS里的日历插件及在IE下报Calendar未定义
日历代码:
<link rel="stylesheet" type="text/css" href="calendar/jscal2.css"/> <link rel="stylesheet" type="text/css" href="calendar/border-radius.css"/> <link rel="stylesheet" type="text/css" href="calendar/win2k.css"/> <script type="text/javascript" src="calendar/calendar.js"></script> <script type="text/javascript" src="calendar/lang/en.js"></script> <tr> <th>上线时间 :</th> <td><input type="text" name="subject[fromdate]" id="fromdate" value="" size="10" class="date" readonly> <script type="text/javascript"> Calendar.setup({ weekNumbers: true, inputField : "fromdate", trigger : "fromdate", dateFormat: "%Y-%m-%d", showTime: false, minuteStep: 1, onSelect : function() {this.hide();} }); </script></td> </tr> <tr> <th>下线时间 :</th> <td><input type="text" name="subject[todate]" id="todate" value="" size="10" class="date" readonly> <script type="text/javascript"> Calendar.setup({ weekNumbers: true, inputField : "todate", trigger : "todate", dateFormat: "%Y-%m-%d", showTime: false, minuteStep: 1, onSelect : function() {this.hide();} }); </script></td> </tr>
在IE下报Calendar未定义:
原因是由在IE下,calendar.js文件加载没有阻塞Calendar.setup()方法的运行,Calendar.setup()在calendar.js未加载的情况,就开始执行了,所以就报出“Calendar”未定义 的错误
解决办法:
找到phpcmsbs/class/form.class.php文件
在174到182行
Calendar.setup({
weekNumbers: ‘.$showweek.‘,
inputField : "‘.$id.‘",
trigger : "‘.$id.‘",
dateFormat: "‘.$format.‘",
showTime: ‘.$showsTime.‘,
minuteStep: 1,
onSelect : function() {this.hide();}
});
改成:
$(function(){
Calendar.setup({
weekNumbers: ‘.$showweek.‘,
inputField : "‘.$id.‘",
trigger : "‘.$id.‘",
dateFormat: "‘.$format.‘",
showTime: ‘.$showsTime.‘,
minuteStep: 1,
onSelect : function() {this.hide();}
});
});
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。