DEDECMS 模板中心

您现在的位置:主页 > 织梦大学 > 标签调用 >

Dedecms自定义表单时间时间戳值类型的转换方法

来源: 编辑: 发布时间:2020-05-02热度:
在给客户用织梦dedecms做二次开发的时候,自定义表单的功能会经常用到,比如比较简单的留言,订单咨询,意见反馈等等,是我们收集访客信息时经常需要用到的,而这些都可以通过...
在给客户用织梦dedecms做二次开发的时候,自定义表单的功能会经常用到,比如比较简单的留言,订单咨询,意见反馈等等,是我们收集访客信息时经常需要用到的,而这些都可以通过dedecms的自定义表单功能轻松实现。我们在收集表单信息的时候往往需要了解访客提交数据的时间,Dedecms自定义表单的时间类型字段在后台显示的值为时间戳,我们要想办法将时间戳转化成我们能看懂的时间格式。

 
解决办法一:
修改/dede/templets/diy_list.htm,在第42行else前面加上以下代码:
PHP
else if($fielddata[1]=='datetime')
{
$fields[$field] = GetDateTimeMk($fields[$field]);
}

 
这样就能将时间戳转换成我们能读懂的时间日期格式了,另外前台由于不需要显示用户提交信息的当前时间,可以通过css将其隐藏掉。
解决办法二:
不通过时间类型的字段,用单行文本框+JS来实现,这样做就不用转化时间戳,而是直接通过JS获取时间值以字符串的形式写入。
在自定义表单增加一个文本框字段,例如字段名称为:subtime,在前台调用时增加相应的JS
 
PHP
<td style="display:none;"><input type="text" name="subtime" id="subtime" value="">
<script type="text/javascript">
                    window.onload = function(){
                    var nowDate = new Date();
                    var str = nowDate.getFullYear()+"-"+(nowDate.getMonth() + 1)+"-"+nowDate.getDate()+" "+nowDate.getHours()+":"+nowDate.getMinutes()+":"+nowDate.getSeconds();
                    document.getElementById("subtime").value=str;
                    }
</script>
</td>

 
如果是其他自定义字段名称,记得将input里面的name与id值相应修改。
DedeCMS问题解决

请点击在线联系我们【点击咨询解决问题】   如果您有任何织梦问题,我们将免费为您写解决教程!

用心认真写教程不易,请小打赏我们一下,多少是心意,解决问题是重点

【打赏说明】 如果您认为在本站中看的内容质量不错、或阅读后有所收获、或解决您遇到的实际问题,那不妨小金额的赞助一下尚禹科技,让尚禹科技有动力继续写出更多高质量的教程和心得。以帮助更多的人。[查看打赏记录]

    尚禹科技:承接仿站业务,价格200元起!