如何使用DedeCMS自带提供的自定义表单功能
首先打开织梦自定义表单,然后添加字段,比如联系人(单行文本),****(单行文本),地址(单行文本),留言内容(单行文本),留言时间(单行文本)等字段
注意:留言时间这里不要选择“时间类型”,选择默认的“文本形式”就可以。
自定义表单在模板中修改如下:
<form action="/plus/diyphp" enctype="multipart/form-data" method="post" name="form"onsubmit="return CheckForm();">
<input type="hidden" name="action" value="post" />
<input type="hidden" name="diyid" value="1" />
<input type="hidden" name="do" value="2" />
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>提交时间</td>
<td><input name="mytime" value="" type="text" id="mytime" /><!-- 如不需要在前台显示的话可以修改type="hidden" -->
<script type="text/javascript">
windowonload = function(){
var nowDate = new Date();
var str = nowDategetFullYear()+"-"+(nowDategetMonth() + 1)+"-"+nowDategetDate()+" "+nowDategetHours()+":"+nowDategetMinutes()+":"+nowDategetSeconds();
documentgetElementById("mytime")value=str;
}
</script>
</td>
</tr>
<tr><td><input type="hidden" name="dede_fields" value="mytime,textchar" />
<input type="hidden" name="dede_fieldshash" value="849a871768b5942ee259e8f7af736194" />
<label>
<input class="btn_tj" type="submit" name="Submit" value=" 提交" />
</label></td></tr>
</table>
</form>
首先大家需要明白的是自定义表单的数据,是提交到dedecms自带的plug下的diyphp文件进行处理,大家打开一看一眼就能找到我们比较熟悉的标题提交成功提示的信息,也就是“$bkmsg = '发布成功,请等待管理员处理…';”,看到这里我想大家已经能明白怎么修改提交成功的信息了。
那么我们怎么去修改提交成功之后的跳转呢
里面有这样一段代码:
1 if($dsql->executenonequery($query))
2 {
3 $id = $dsql->GetLastID();
4 if($diy->public == 2)
5 {
6 //diyphpaction=view&diyid={$diy->diyid}&id=$id
7 $goto = "diyphpaction=list&diyid={$diy->diyid}";
8 $bkmsg = '发布成功,现在转向表单列表页…';
9 }
10 else
11 {
12 $goto = !empty($cfg_cmspath) $cfg_cmspath : '/';
13 $bkmsg = '发布成功,请等待管理员处理…';
14 }
15 showmsg($bkmsg, $goto);
16 }
这是diyphp自带的代码,我们需要在‘$bkmsg = '发布成功,请等待管理员处理…';’在这后面添加一段代码让他返回到当前页面,代码是“echo "<script>alert('提交成功!'); historygo(-1)</script>";”这样添加过后就可以了。然后替换掉网站原来的文件,就可以实现表单提交过后返回当前页面。最后的代码如下:
1 if($dsql->executenonequery($query))
2 {
3 $id = $dsql->GetLastID();
4 if($diy->public == 2)
5 {
6 //diyphpaction=view&diyid={$diy->diyid}&id=$id
7 $goto = "diyphpaction=list&diyid={$diy->diyid}";
8 $bkmsg = '发布成功,现在转向表单列表页…';
9 }
10 else
11 {
12 $goto = !empty($cfg_cmspath) $cfg_cmspath : '/';
13 $bkmsg = '发布成功,请等待管理员处理…';
14 echo "<script>alert('提交成功!'); historygo(-1)</script>";
15 }
16 showmsg($bkmsg, $goto);
17 }
使用这样的代码就能实现提交表单过后,返回的是当前页面。
新增表单后,在你的模板中添加代码时需要加入调用的字段
{dede:list pagesize='5' addfields='jiage' channelid='2'}
channelid='2' 添加模型时的字段ID
addfields='jiage' 添加的字段
这2个字段至关重要的
调用时[field:jiage/] 即可调用
0条评论