女神猫女王

代理加盟 2020全新代理計劃 賺錢+省錢雙管齊下,獨立平臺,豐厚利潤!

您現在的位置: 秀站網 > 織夢大學 > 使用教程 >

DedeCMS織夢用ShowMsg函數提示信息改彈出窗口

來源:本站原創 發布時間:2019-03-31 13:08:48熱度:我要評論(0

免費下載,無需注冊無需充值

       DedeCMS的提示信息默認的是跳轉,好處是防止有些瀏覽器禁止了彈出窗口,但用戶體驗稍差,可以修改提示信息為彈窗更友好,秀站網做兩種修改方法:

第一種修改方法

舉個表單提交的例子,實現功能:

①表單字段為空,彈出對話框提示信息,不提交表單,返回;
②表單信息完整無誤,更改點擊提交后的跳轉為彈出“成功提交”對話框信息,關閉當前窗口并刷新;

了解一下ShowMsg函數

       DedeCMS的提示信息是通過ShowMsg函數實現的,一般格式為:

ShowMsg($msg,$gourl,$onlymsg=0,$limittime=0)

       打開include/common.func.php,找到ShowMsg函數,結合案例說明:

ShowMsg("成功登錄,5秒鐘后轉向系統主頁...","index.php",0,2000); 

       $msg參數是要返回的信息,也就是提示的問題;

       $gourl參數是提示完成后要返回的頁面,參數有:

-1 代表返回上一頁;
index.php 返回指定的index.php頁面;
javascript:window.opener=null;window.open('','_self');window.close(); 關閉當前跳轉的提示窗口; 

       $limittime參數是提示出現的秒數,以毫秒為單位;1000就是1秒。

       $onlymsg參數是提示的顯示方式,具體參數有:

$onlymsg=0 為0,則以跳轉到新頁面顯示; 
$onlymsg<>0 不為0,則以彈出對話框的形式進行顯示 

       如果$gourl為空,或者$onlymsg==1,跳轉的頁面是空白,因此進行如下修改,找到

$msg = "<script>alert(\"".str_replace("\"","“",$msg)."\");</script>";

       修改為:

$msg = "<script>history.go(-1);location.reload()</script>";

       讓$gourl值為1時,就能實現返回上級(歷史)頁面并刷新,但并不提示任何信息。這樣做的好處是:htm頁面內編寫JS判斷字段數據是否規范,不滿足條件不能提交,不必提示信息跳轉。       

結合點擊或回車事件

       在所需要修改的模板</head>之前增加代碼

<script type="text/javascript">
 function record(){
 alert("更新信息已成功");
 }
</script>

       對應的提交(確定)按鈕,需要增加onclick鼠標點擊效果。

<button class="button2" type="submit" onclick="record()">確定</button>

       當然如果希望輸入某個字段(如name="uname")后回車就需要在對應的input增加代碼

 

<input type="text" id="" name="uname" onkeypress="
if(event.keyCode==13){
record();//執行click事件,多個事件之間用英文的";"隔開
return false;//不執行表單提交
}"/>

 

       以上可以實現用點擊按鈕或者回車實現提示信息為彈出對話框,點擊確定后才真正提交內容。

       判斷所字段是否為空,參考文章《詳解獲取input輸入值并實現回車激活按鈕事件且不提交表單》。

第二種修改方法

舉個購物車提交的例子,實現功能:

用戶提交商品到購物車后不跳轉到購物車,直接返回原頁面并刷新該頁面。

       打開include/common.fun.php,找到

if($gourl=='' || $onlymsg==1)
{
 $msg = "<script>alert(\"".str_replace("\"","“",$msg)."\");</script>";
}

       修改為

if($gourl=='' || $onlymsg==1)
{
 $msg = "<script>alert(\"".str_replace("\"","“",$msg)."\");self.location=document.referrer;</script>";
}

       打開plus/posttocar.php,找到

ShowMsg("已添加加到購物車,<a href='car.php'>查看購物車</a>","car.php");

       修改為

ShowMsg("已添加加到購物車,<a href='car.php'>查看購物車</a>");

DedeCMS跳轉提示信息修改總結

       第一種是利用原生JavaScript與DedeCMS源代碼,功能較強大,可以對字段進行篩選、判斷是否空等操作,根據自己的實際需要進行修改;

       另一種是只利用了DedeCMS源代碼,功能較單一。根據自己的實際需要選擇任意一種都可以,兩種方法有沖突

轉載請注明來源網址:http://www.qksux.club/dedecms_jq/1417.html

    發表評論

    評論列表(條)

      女神猫女王 83097038534094616953979498050222544142741085322875050041147064410608240227740494429177888551687350138 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();