也想出现在这里? 联系我们

DedeCMS织梦用ShowMsg函数提示信息改弹出窗口

作者 : 小编 本文共2021个字,预计阅读时间需要6分钟 发布时间: 2020-11-16 共1.51K人阅读
也想出现在这里? 联系我们

       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源代码,功能较单一。根据自己的实际需要选择任意一种都可以,两种方法有冲突

1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » DedeCMS织梦用ShowMsg函数提示信息改弹出窗口

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
织梦模板使用说明
你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html

发表评论

Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
开通VIP 享更多特权,建议使用QQ登录