dede自定义表单获取时间的3种方法

作者 : Maria Orlova 发布时间: 2021-01-13 共42人阅读

我们在用dedecms添加自定义表单时有时想要设置一个用户提交的时间,方便查询,比如我们的客服人员查询昨天晚上下班后有哪些订单是刚生成的,比较好查看,如下图所示。那么,dedecms自定义表单增加添加时间怎么弄呢?

一、在自定义表单中添加字段,在后台找到:核心 - 频道模型 - 自定义表单,添加时间字段 dytime,

二、在调用表单的页面中加入代码,本例中是/templets/default/dingyue.htm

<input type='hidden' name='dytime' id='dytime'/>
<script  language="javascript" type="text/javascript">
  var wdtime= new Date();
  document.getElementById("dytime").value=wdtime.toLocaleString();
</script>

需要注意的是“type='hidden'”这个,表示隐藏,name一定要和刚刚设置的数据字段名一致,本例是dytime。还有要把dytime,datetime这个值要传递过去。

代码也可以用以下两种:

 

<input name="dytime" value="" type="hidden" id="dytime" style="width:250px" class="intxt">
<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("dytime").value=str;
}
</script>

同样的道理,还是注意“dytime”标签,这是自定义的标签,直接修改成自己的标签即可。

第二种:

<input type="hidden" name="dytime" id="dytime" value="{dede:php} echo $showtime=date('Y-m-d H:i:s');{/dede:php}">

这里是直接用“value”获取当前的系统时间进行提交,type='hidden'  这个代码是隐藏。

第三:比较重要的一步,在系统模板中添加plus/diy_list.htm大概42行左右的else前面或后面加入下面的代码

if($fielddata[1]=='datetime')
{
    $fields[$field] = GetDateTimeMk($fields[$field]);
}

上传修改好的文件,重新生成页面就可以了。

以上获取时间的方法总结,前2种就获取时间方法基本上能满足大家的需要,这是为了避免同一个页面,有多个需要获取时间的js代码,这样可以避免冲突。