Dedecms织梦自定义表单添加日期时间字段方法
大家都知道Dedecms织梦自定义表单功能实用很强大,但是表单提交后后台是看不到提交日期时间的,如果你的表单是网上订单,有的时候不能及时看就会耽误了,也不知道时间所以很麻烦,现在我就分享一种方法。
首先自定义表单,然后添加字段,比如联系人(单行文本),联系方式(单行文本),地址(单行文本),留言内容(单行文本),留言时间(单行文本)等字段。
注意:留言时间这里不要选择“时间类型”,选择默认的“文本形式”就可以。
自定义表单在模板中修改如下:
<form action="/plus/diy.php" method="post" onSubmit="return validate_form(this);"
class="m-fm">
<input type="hidden" name="action" value="post" />
<input type="hidden" name="diyid" value="1" />
<input type="hidden" name="do" value="2" />
<input type="hidden" name="dede_fields" value="xingming,text;dianhua,text;neirong,multitext;senddate,text"
/>
<input type="hidden" name="dede_fieldshash" value="46fbc0cfe708f1a92a0bf7d799c7a548"
/>
<input type="hidden" name="senddate" id="senddate" value="" /><!-- 如不需要在前台显示的话可以修改type="hidden"或css隐藏 -->
<table>
<tr>
<th> 您的称谓: </th>
<td><input type='text' name='xingming' id='xingming' class='ipt' placeholder="您的称谓"
/></td>
</tr>
<tr>
<th> 联系方式: </th>
<td><input type='text' name='dianhua' id='dianhua' class='ipt' placeholder="固话或手机"
/></td>
</tr>
<tr>
<th style="vertical-align:top;"> 留言内容: </th>
<td><textarea name='neirong' id='neirong' class='ipt iptarea' placeholder="想对我们说些什么">
</textarea></td>
</tr>
<tr>
<th> </th>
<td><input type="submit" name="submit" value="提交留言" class='btn' />
<span style="margin:0 20px;"> </span>
<input type="reset" name="reset" value="重新填写" class='btn' /></td>
</tr>
</table>
</form>
<script type="text/javascript">
setInterval(function() {
var nowDate = new Date();
var str = nowDate.getFullYear()+"-"+(nowDate.getMonth() + 1)+"-"+nowDate.getDate()+" "+nowDate.getHours()+":"+nowDate.getMinutes()+":"+nowDate.getSeconds();
document.getElementById("senddate").value=FormatDate(str);
}, 1000);
//日期格式化
function FormatDate(str) {
if (typeof str == "string") {
var arrDateInfo = str.split(" ");
if (arrDateInfo.length == 2) {
var arrDate = arrDateInfo[0].split("-");
if (arrDate.length == 3) {
if (arrDate[1].length == 1) arrDate[1] = "0" + arrDate[1];
if (arrDate[2].length == 1) arrDate[2] = "0" + arrDate[2];
var arrTime = arrDateInfo[1].split(":");
if (arrTime.length == 3) {
if (arrTime[0].length == 1) arrTime[0] = "0" + arrTime[0];
if (arrTime[1].length == 1) arrTime[1] = "0" + arrTime[1];
if (arrTime[2].length == 1) arrTime[2] = "0" + arrTime[2];
var szNewDateTime = arrDate[0] + "-" + arrDate[1] + "-" + arrDate[2] + " ";
szNewDateTime += arrTime[0] + ":" + arrTime[1] + ":" + arrTime[2];
return szNewDateTime;
}
return arrDate[0] + "-" + arrDate[1] + "-" + arrDate[2] + " " + arrDateInfo[1];
}
}
}
return str;
}
//日期格式化
function getNowFormatDate() {
var date = new Date();
var seperator1 = "-";
var seperator2 = ":";
var month = date.getMonth() + 1;
var strDate = date.getDate();
var strHours = date.getHours();
var strMinutes = date.getMinutes();
var strSeconds = date.getSeconds();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
if (strHours >= 0 && strHours <= 9) {
strHours = "0" + strHours;
}
if (strMinutes >= 0 && strMinutes <= 9) {
strMinutes = "0" + strMinutes;
}
if (strSeconds >= 0 && strSeconds <= 9) {
strSeconds = "0" + strSeconds;
}
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + " " + strHours + seperator2 + strMinutes + seperator2 + strSeconds;
return currentdate;
}
//去空格
function trim(str) {
return str.replace(/(^\s*)|(\s*$)/g, '');
}
//表单验证
function validate_required(field, alerttxt) {
with(field) {
if (value == null || value == "" || trim(value) == '') {
alert(alerttxt);
return false
} else {
return true;
}
}
}
//表单验证字段
function validate_form(thisform) {
with(thisform) {
if (validate_required(xingming, "姓名不能为空!") == false) {
xingming.focus();
return false;
}
if (validate_required(dianhua, "联系方式不能为空!") == false) {
dianhua.focus();
return false;
}
if (validate_required(neirong, "留言内容不能为空!") == false) {
neirong.focus();
return false;
}
}
}
</script>
上面js中有两种日期格式化方法,如果日期不用格式化的可以简单弄个字符串即可,简单来说就是弄个日期字符串当字段插入。