最近恰好幫客戶作一個網站,須要用到dede的自定義表單功能。但是有個這樣的需求,就是當表單提交成功後,要返回一個自定義頁面的提示功能!多是以爲dede自帶的提示太low的緣由吧!(一不當心又黑了下)😁javascript
好啦,廢話很少說。咱們一塊兒來看看,怎麼去修改系統自帶的提示窗口呢!php
咱們先來看下dede提交成功後彈出窗,以下圖:html
咱們預期的效果提交成功後的彈出窗,以下圖:java
第一步:找到系統文件網站
首先咱們打開網站目錄下/plus/diy.php文件,須要修改的地方大約在100行左右。以下圖:spa
第二步:修改系統文件3d
若是對此段稍有研究的朋友,否則發現,這是一個條件的判斷。無論判斷的條件輸出什麼,都會調用下面那個showmsg方法。(而這個方法正是彈出系統提示窗的),所以咱們只需註釋掉此方法便可。code
那麼又有人會問啦:「你都註釋了這個方法。那還怎麼輸出咱們想要的頁面呢?」htm
大人稍安勿躁,容小的把解決方案,一 一道來:blog
聰明的朋友可能已經發現,我在 $bkmsg = '發佈成功,請等待管理員處理...'; 下面,添加了三段代碼。而這三段代碼正是系統沒有的,否則已發現是作什麼用的啦!
不錯,這三段代碼正是修改系統提示窗的代碼。以下圖:
原理以下:
咱們先經過禁止調用系統彈窗的方法,當表單提交成功後,卻不會出現提示框,可能還會報錯什麼的。咱們只要在提示發佈成功後,輸出咱們本身的想要的內容便可。
代碼以下:
$rsg .= '自定義內容'; //需注意:外層是‘單引號’,裏面直接把代碼寫一行便可,雙引號則不須要轉義。 $rsg.='<script>setTimeout(function(){window.location.href="/lala/order/"},3000)</script>'; echo $rsg;
具體代碼不作過多解釋,簡單說明下。
一、第一段,把寫好的html代碼,用變量保存起來。(彈出窗代碼)
二、第二段,輸入javascript代碼,來控制頁面的跳轉問題。
三、PHP的語法,輸出什麼,這裏指把整塊事先定義好的內容輸出到頁面。即(彈出窗代碼+js)
注意:若是要本身修改提交成功,返回的頁面路徑。能夠直接寫
$rsg .='window.location.href="跳轉地址";';
第三步:大功告成,完美顯示!
修改完成後,直接保存下。不出意外,就會出現以下圖的狀況。那麼恭喜你,已經成功啦!
本文出處:https://www.jkys120.com/