首页 > 代码库 > 解决:My97DatePicker 日期插件引用在PHP文件中maxDate和minDate控制失效问题
解决:My97DatePicker 日期插件引用在PHP文件中maxDate和minDate控制失效问题
开发环境:
语言:PHP
框架:ThinkPHP
问题:在引用插件My97DatePicker时,想实现:开始日期不能大于结束日期,结束时间不能小于开始时间
步骤一、查看文档官方文档http://www.my97.net/dp/demo/index.htm可以看到实现办法如下:
步骤二、按照文档说明,作用于自己代码中:
<input name="start_time" type="text" id="start_time" class="Wdate" onClick="WdatePicker({dateFmt:‘yyyy-MM-dd‘,maxDate:‘#F{$dp.$D(\‘end_time\‘)}‘})"/><input name="end_time" type="text" id="end_time" class="Wdate" onClick="WdatePicker({dateFmt:‘yyyy-MM-dd‘,minDate:‘#F{$dp.$D(\‘start_time\‘)}‘,maxDate:‘{$max_end_norm}‘})"/>
运行发现,maxDate和minDate控制总是失效
排查发现问题:
查看缓存Cache发现如下问题:
<input name="start_time" type="text" id="start_time" class="Wdate" onClick="WdatePicker({dateFmt:‘yyyy-MM-dd‘,maxDate:‘#F<?php echo ($dp["$D(‘end_time‘)"]); ?>‘})"/><input name="end_time" type="text" id="end_time" class="Wdate" onClick="WdatePicker({dateFmt:‘yyyy-MM-dd‘,minDate:‘#F<?php echo ($dp["$D(‘start_time‘)"]); ?>‘,maxDate:‘<?php echo ($max_end_norm); ?>‘})"/>
可以看到maxDate和minDate内容全部被当做PHP变量<?php echo ($dp["$D(‘end_time‘)"]); ?>和<?php echo ($dp["$D(‘start_time‘)"]); ?>编译输出了,而我们想要的结果是作为常量;
解决办法:
方法1.在标签的{
和$
之间增加一个空格,让php标签无效参考链接 (推荐方法)
例如:{$name} 修改成:{ $name}
方法2.改变默认的开始标记和结束标记 参考链接
‘TMPL_L_DELIM‘=>‘<{‘,‘TMPL_R_DELIM‘=>‘}>‘,
方法3.可以使用literal标签来防止模板标签被解析 参考链接
<literal>{$name}</literal>
以上自己遇到的问题及解决办法;
解决:My97DatePicker 日期插件引用在PHP文件中maxDate和minDate控制失效问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。