最近刚好帮客户做一个网站,需要用到dede的自定义表单功能。可是有个这样的需求,就是当表单提交成功后,要返回一个自定义页面的提示功能!可能是觉得dede自带的提示太low的原因吧!(一不小心又黑了下)??
好啦,废话不多说。我们一起来看看,怎么去修改系统自带的提示窗口呢!
我们先来看下dede提交成功后弹出窗,如下图:
我们预期的效果提交成功后的弹出窗,如下图:
第一步:找到系统文件
首先我们打开网站目录下/plus/diy.php文件,需要修改的地方大约在100行左右。如下图:
第二步:修改系统文件
如果对此段稍有研究的朋友,不然发现,这是一个条件的判断。不管判断的条件输出什么,都会调用下面那个showmsg方法。(而这个方法正是弹出系统提示窗的),因此我们只需注释掉此方法即可。
那么又有人会问啦:“你都注释了这个方法。那还怎么输出我们想要的页面呢?”
大人稍安勿躁,容小的把解决方案,一 一道来:
聪明的朋友可能已经发现,我在 $bkmsg = ‘发布成功,请等待管理员处理...‘; 下面,添加了三段代码。而这三段代码正是系统没有的,不然已发现是做什么用的啦!
不错,这三段代码正是修改系统提示窗的代码。如下图:
原理如下:
我们先通过禁止调用系统弹窗的方法,当表单提交成功后,却不会出现提示框,可能还会报错什么的。我们只要在提示发布成功后,输出我们自己的想要的内容即可。
代码如下:
$rsg .= ‘自定义内容‘;
//需注意:外层是‘单引号’,里面直接把代码写一行即可,双引号则不需要转义。
$rsg.=‘<script>setTimeout(function(){window.location.href="/lala/order/"},3000)</script>‘;
echo $rsg;
具体代码不做过多解释,简单说明下。
1、第一段,把写好的html代码,用变量保存起来。(弹出窗代码)
2、第二段,输入javascript代码,来控制页面的跳转问题。
3、PHP的语法,输出什么,这里指把整块事先定义好的内容输出到页面。即(弹出窗代码+js)
注意:如果要自己修改提交成功,返回的页面路径。可以直接写
$rsg .=‘window.location.href="跳转地址";‘;
第三步:大功告成,完美显示!
修改完成后,直接保存下。不出意外,就会出现如下图的情况。那么恭喜你,已经成功啦!
本文出处:https://www.jkys120.com/
原文:https://www.cnblogs.com/zqw111/p/11106527.html