页面跳转并提示的解决方案

简介:

在页面处理成功之后,总要有个提示。这个时候不用ajax的话,就必须跳转到新的页面。同时有提示信息。

我是的思路是,处理成功之后,获取到提示信息,和提示类型或成功或错误消息。

$this->_redtest("1","success","/news/index/listmy");

调用_redtest方法,传递三个参数,1表示成功消息。

success表示提示内容,可以处理成相应的中文提示。

之后的是连接地址。

复制代码
function _redtest($msgtype = false,$message = false, $url = false, $target = false) {
        $redurl = $url;
        if ($message)
            $param[] = 'message=' . $message;
        if ($msgtype)
            $param[] = 'msgtype=' . $msgtype;
        if ($target)
            $param[] = 'target=' . $target;
        if (count($param) > 0) {
            $redurl .= '?' . join('&', $param);
        }
        $this->_redirect($redurl);
        /*echo "<script type='text/javascript'>";  
        echo "window.location.href='$url'";  
        echo "</script>";  
        */
        exit;
    }
复制代码

完了之后,直接跳转到新的页面。

新的页面对参数进行处理。

复制代码
/**消息提示begin*/
        $translate = Zend_Registry::get('Zend_Translate'); //引入翻译接口
        $message = $this->_request->getParam('message');
        $msgtype = $this->_request->getParam('msgtype');
        $reloadurl = explode('?', $_SERVER['REQUEST_URI']);
        $reloadurl = $reloadurl[0];
        $this->view_->assign('reloadurl', $reloadurl);
        $this->view_->assign('msgtype', $msgtype);
        $this->view_->assign('message', $translate->_($message));
        /**消息提示end*/
复制代码

并传递到tpl视图中。

视图中获取到参数,并作出相应的效果。

复制代码
<!--消息提示-->
<script>
$(function(){
    var message = "<!--{$message}-->";
    var msgtype = "<!--{$msgtype}-->";

    if(message){
        if(msgtype){
            if(msgtype=="1"){
                showMsg("msg",message,"2000");
            }else{
                showMsg("errmsg",message,"2000");
            }
        }else{
            showMsg('msg',message,"2000");
        }
        reloadurl();
        //window.location = "<!--{$reloadurl}-->";
    }
});

function reloadurl()
{
    var t=setTimeout("window.location = '<!--{$reloadurl}-->'",2000);
}
function showMsg(msgtype,msgcontent,time){
    $("#msgBoxDIV span").attr("class",msgtype).text(msgcontent); //获取提示信息并设置
    $("#msgBoxDIV").show();
    setTimeout(function () {
    $("#msgBoxDIV").hide();
    }, time);
}

</script>
<div id="msgBoxDIV" style="position: absolute; width: 90%; padding-top: 2px; height: 24px; top: 75px; text-align: center; display:none;">
        <span class="msg"></span>
</div>
复制代码

避免刷新会重复提示消息的方法。再次跳转。

function reloadurl()
{
    var t=setTimeout("window.location = '<!--{$reloadurl}-->'",2000);
}

效果如下:



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/3498986.html,如需转载请自行联系原作者


相关文章
|
存储 SQL 数据库
在TiDB中创建表
【2月更文挑战第29天】在TiDB中创建表涉及定义字段名、数据类型和约束 。注意规划表结构、选择合适的数据类型和约束,以及谨慎使用索引,以平衡查询速度和写入性能。在实际操作前确保备份数据。
|
弹性计算 数据可视化 Ubuntu
基于阿里云ECS搭建FISCO-BCOS区块链
用ubuntu操作系统下的ECS搭建FISCO-BCOS节点,开发区块链网络
基于阿里云ECS搭建FISCO-BCOS区块链
|
存储 测试技术
ECCV 2024:比基准高30%,媲美Gemini 1.5 Pro,基于记忆的视频理解智能体来了
在ECCV 2024会议上,一篇题为“VideoAgent: A Memory-augmented Multimodal Agent for Video Understanding”的论文备受关注。该论文提出了一种结合大型语言模型和视觉-语言模型的新型智能体VideoAgent,通过创新的统一记忆机制,构建结构化记忆系统,实现对长视频中时间关系的理解。VideoAgent利用视频片段定位、物体记忆等多种工具进行交互式任务处理,在NExT-QA和EgoSchema等基准测试中表现出色,分别提升了6.6%和26.0%的成绩,但其记忆系统和交互方法仍有待优化。
233 1
|
SQL 数据采集 存储
Hive实战 —— 电商数据分析(全流程详解 真实数据)
关于基于小型数据的Hive数仓构建实战,目的是通过分析某零售企业的门店数据来进行业务洞察。内容涵盖了数据清洗、数据分析和Hive表的创建。项目需求包括客户画像、消费统计、资源利用率、特征人群定位和数据可视化。数据源包括Customer、Transaction、Store和Review四张表,涉及多个维度的聚合和分析,如按性别、国家统计客户、按时间段计算总收入等。项目执行需先下载数据和配置Zeppelin环境,然后通过Hive进行数据清洗、建表和分析。在建表过程中,涉及ODS、DWD、DWT、DWS和DM五层,每层都有其特定的任务和粒度。最后,通过Hive SQL进行各种业务指标的计算和分析。
2597 1
Hive实战 —— 电商数据分析(全流程详解 真实数据)
|
传感器 vr&ar Android开发
基于Arduino的智能眼镜
基于Arduino的智能眼镜
367 0
|
安全 Android开发
游戏封包,你会了吗?
游戏封包,你会了吗?
1076 1
游戏封包,你会了吗?
|
安全 关系型数据库 MySQL
【Docker 基础教程】Mysql主从服务搭建------Mysql容器闪退及容器名冲突系列问题
【Docker 基础教程】Mysql主从服务搭建------Mysql容器闪退及容器名冲突系列问题
【Docker 基础教程】Mysql主从服务搭建------Mysql容器闪退及容器名冲突系列问题
|
API Python
python 通过 github api 上传图片,实现免费的图床
python 通过 github api 上传图片,实现免费的图床
1076 0
|
数据采集 机器学习/深度学习 自然语言处理
sent2vec教程
sent2vec是用于无监督学习词、短文本、句的Python包。本文是sent2vec的简易教程,包括安装教程和简单的使用方法。文中使用英语文本作为示例。 sent2vec除文中所提及内容之外的功能,以后可能会继续补充到本博文中。
【开发课堂】大转盘?刮刮卡?支付宝小程序营销组件了解一下
营销组件库提供的就是这些核心玩法模块,供开发者去调用,减少自行开发的成本。
2552 12
【开发课堂】大转盘?刮刮卡?支付宝小程序营销组件了解一下