dede5.7-修改自定义表单返回成功页面
最近刚好帮客户做一个网站,需要用到dede的自定义表单功能。可是有个这样的需求,就是当表单提交成功后,要返回一个自定义页面的提示功能!可能是觉得dede自带的提示太low的原因吧!(一不小心又黑了下)
好啦,废话不多说。我们一起来看看,怎么去修改系统自带的提示窗口呢!
我们先来看下dede提交成功后弹出窗,如下图:
我们预期的效果提交成功后的弹出窗,如下图:
第一步:找到系统文件
首先我们打开网站目录下/plus/diy.php文件,需要修改的地方大约在100行左右。如下图:

第二步:修改系统文件
如果对此段稍有研究的朋友,不难发现,这是一个条件的判断。不管判断的条件输出什么,都会调用下面那个showmsg方法。(而这个方法正是弹出系统提示窗的),因此我们只需注释掉此方法即可。
那么又有人会问啦:“你都注释了这个方法。那还怎么输出我们想要的页面呢?”
大人稍安勿躁,容小的把解决方案,一 一道来:
聪明的朋友可能已经发现,我在 $bkmsg = '发布成功,请等待管理员处理...'; 下面,添加了三段代码。而这三段代码正是系统没有的,不然已发现是做什么用的啦!
不错,这三段代码正是修改系统提示窗的代码。如下图:

原理如下:
我们先通过禁止调用系统弹窗的方法,当表单提交成功后,却不会出现提示框,可能还会报错什么的。我们只要在提示发布成功后,输出我们自己的想要的内容即可。
代码如下:
1
|
$rsg .= '自定义内容' ;
//需注意:外层是‘单引号’,里面直接把代码写一行即可,双引号则不需要转义。
|
2
|
$rsg .= '<script>setTimeout(function(){window.location.href="/lala/order/"},3000)</script>' ;
|
3
|
echo $rsg ;
|
具体代码不做过多解释,简单说明下。
1、第一段,把写好的html代码,用变量保存起来。(弹出窗代码)
2、第二段,输入javascript代码,来控制页面的跳转问题。
3、PHP的语法,输出什么,这里指把整块事先定义好的内容输出到页面。即(弹出窗代码+js)
注意:如果要自己修改提交成功,返回的页面路径。可以直接写
1
|
$rsg .= 'window.location.href="跳转地址";' ;
|
第三步:大功告成,完美显示!
修改完成后,直接保存下。不出意外,就会出现如下图的情况。那么恭喜你,已经成功啦!