最近在phpcmsV9里用表单向导弄个的提交表单,但用了日期和时间类型时,用
<script
language=‘javascript‘
src=‘{APP_PATH}index.php?m=formguide&c=index&a=show&formid=11&action=js&siteid=1‘></script>
调用时在IE下报 “Calendar”未定义
的错误,致使日期控件无法使用
原因是由在IE下,calendar.js文件加载没有阻塞Calendar.setup()方法的运行,Calendar.setup()在calendar.js未加载的情况,就开始执行了,所以就报出“Calendar”未定义
的错误
解决办法:
找到phpcms/libs/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();} }); });