• Ext各种对话框


    <HTML> 
    <HEAD> 
    <TITLE>选择确认对话框</TITLE> 
    <link rel="stylesheet" type="text/css" href="Ext/resources/css/ext-all.css" /> 
    <script type="text/javascript" src="Ext/ext-base.js"></script> 
    <script type="text/javascript" src="Ext/ext-all.js"></script> 
    <script type="text/javascript" src="Ext/ext-lang-zh_CN.js" charset="utf-8"></script> 
    </HEAD> 
    <script type="text/javascript"> 
        function start(){ 
            //选择确认对话框和传统的JS一样使用的是Confirm函数,但是在Ext中这些对话框被统一归结到Message下面:“Ext.MessageBox.confirm("对话框的标题","对话框消息正文");”,如果为其提供一个回调函数,则该函数将在单击按钮后被调用(包括右上角的退出按钮),所单击按钮的id将被作为唯一的参数传递到回调函数中。使用方法是在confirm的参数第三个位置加上回调函数名,然后下面完成这个回调函数,定义一个参数接收用户的选择结果,然后可以根据选择来作出判断。
            Ext.MessageBox.confirm("选择框", "你到底是选yes还是no?", callback); 
            function callback(id) { 
                if (id == "yes") { 
                    Ext.MessageBox.alert("提示","你点了确定"); 
                } else { 
                    Ext.MessageBox.alert("提示", "你点了取消?"); 
                } 
            } 
        } 
        Ext.onReady(start); 
    </script> 
    <BODY> 
    </BODY> 
    </HTML>
    <HTML> 
    <HEAD> 
    <TITLE>带输入的确认对话框</TITLE> 
    <link rel="stylesheet" type="text/css" href="Ext/resources/css/ext-all.css" /> 
    <script type="text/javascript" src="Ext/ext-base.js"></script> 
    <script type="text/javascript" src="Ext/ext-all.js"></script> 
    <script type="text/javascript" src="Ext/ext-lang-zh_CN.js" charset="utf-8"></script> 
    </HEAD> 
    <script type="text/javascript"> 
        function msg() { 
            //带输入的确认对话框,用的是prompt,和上个效果一样,也需要定义回调函数用来接收用户操作的结果,同时还有用户输入的内容。
            Ext.MessageBox.prompt("提示", "随便写点什么吧!", callback); 
            function callback(id, text) { 
                if (id == "ok") { 
                    Ext.MessageBox.alert("提示","你输入的是:" + text); 
                } else { 
                    Ext.MessageBox.alert("提示","你已经取消了输入!"); 
                } 
            } 
        } 
        Ext.onReady(msg); 
    </script> 
    <BODY> 
    </BODY> 
    </HTML>
    <HTML> 
    <HEAD> 
    <TITLE>带多行文本输入框的对话框</TITLE> 
    <link rel="stylesheet" type="text/css" href="Ext/resources/css/ext-all.css" /> 
    <script type="text/javascript" src="Ext/ext-base.js"></script> 
    <script type="text/javascript" src="Ext/ext-all.js"></script> 
    <script type="text/javascript" src="Ext/ext-lang-zh_CN.js" charset="utf-8"></script> 
    </HEAD> 
    <script type="text/javascript"> 
        function msg() { 
            //带多行文本输入框的对话框,这个例子实现思路需要变化一下,使用自定义对话框,原因是原生JS中本来就没有多行文本框这一说。而且接收返回值的思路需要变化。
            Ext.MessageBox.show({ 
                title: '标题', msg: '要显示的内容', 
                 300, buttons: Ext.MessageBox.OKCANCEL,
                // icon:Ext.MessageBox.INFO,//显示图标
                icon: "ic",
                multiline: true, 
                fn: callback//这个是Ext专属属性,用来指示处理函数名 
                }); 
                function callback(id, text) { 
                Ext.MessageBox.alert(text); 
            } 
        } 
        Ext.onReady(msg); 
    </script>
    <BODY> 
    </BODY> 
    </HTML>
    <HTML> 
    <HEAD> 
    <TITLE>多个按钮选择的对话框</TITLE> 
    <link rel="stylesheet" type="text/css" href="Ext/resources/css/ext-all.css" /> 
    <script type="text/javascript" src="Ext/ext-base.js"></script> 
    <script type="text/javascript" src="Ext/ext-all.js"></script> 
    <script type="text/javascript" src="Ext/ext-lang-zh_CN.js" charset="utf-8"></script> 
    </HEAD> 
    <script type="text/javascript"> 
        function msg() { 
            //显示多个按钮供客户选择,用于多条件处理的情况。 
            Ext.MessageBox.show({ 
                title: '标题', msg: '要显示的内容', 
                buttons: { yes: true, no: true, cancel: true }, 
                // buttons: { yes: "是啊", no: "不啊", cancel: "取消了啊" }, 
                fn: callback//这个是Ext专属属性,用来指示处理函数名 
            }); 
            function callback(id) { 
                Ext.MessageBox.alert("提示","你选择的是"+id); 
            } 
        } 
        Ext.onReady(msg); 
    </script>
    <BODY> 
    </BODY> 
    </HTML>
    <HTML> 
    <HEAD> 
    <TITLE>进度条对话框</TITLE> 
    <link rel="stylesheet" type="text/css" href="Ext/resources/css/ext-all.css" /> 
    <script type="text/javascript" src="Ext/ext-base.js"></script> 
    <script type="text/javascript" src="Ext/ext-all.js"></script> 
    <script type="text/javascript" src="Ext/ext-lang-zh_CN.js" charset="utf-8"></script> 
    </HEAD> 
    <script type="text/javascript"> 
        function msg() { 
            //关于进度条,有两种实现思路,一是按大小确定,一是按时间确定。本例完成按大小控制进度条
            Ext.MessageBox.show({ 
                title: '请稍等', 
                msg: '加载中...', 
                 300, 
                progress: true, 
                closable: false 
                }); 
            var f = function (v) { 
                return function () { 
                    if (v == 12) { 
                        Ext.MessageBox.hide(); 
                        Ext.MessageBox.alert('完成', '加载完毕!'); 
                    } else { 
                        var i = v / 11; 
                        Ext.MessageBox.updateProgress(i, Math.round(100 * i) + '% 已经完成!'); 
                    } 
                }; 
            }; 
            for (var i = 1; i < 13; i++) { 
                setTimeout(f(i), i * 500); 
            } 
        } 
        Ext.onReady(msg); 
    </script>
    <BODY> 
    </BODY> 
    </HTML>
    <HTML> 
    <HEAD> 
    <TITLE>选择确认对话框</TITLE> 
    <link rel="stylesheet" type="text/css" href="Ext/resources/css/ext-all.css" /> 
    <script type="text/javascript" src="Ext/ext-base.js"></script> 
    <script type="text/javascript" src="Ext/ext-all.js"></script> 
    <script type="text/javascript" src="Ext/ext-lang-zh_CN.js" charset="utf-8"></script> 
    <script type="text/javascript"> 
        function extAlert(){
            //Ext.MessageBox.alert("title","msg");
            Ext.Msg.alert("title","msg");
        }
        function extConfirm(){
            //传统方式
            /*
            var ret;
            ret =    confirm('是否继续?');
            if(ret){
                alert("继续");
            }else{
                alert("不继续");
            }
            */
            //Ext.MessageBox.confirm("选择框", "你到底是选yes还是no?", callback); 
            Ext.Msg.confirm("友情提示", "数据删除后不能恢复,是否真要删除?",getResult);
            
        }
    
        function getResult(btn){
            console.dir(arguments);
            if (btn == "yes") { 
                Ext.MessageBox.alert("提示","你点了确定"); 
            } else { 
                Ext.MessageBox.alert("提示", "你点了取消?"); 
            } 
        }
    
        var v = "this is window";
        var b1 = { v : "this is b1"};
        function showResult(btn,text){
            if (btn == "ok") { 
                Ext.MessageBox.alert("提示","你输入的是:" + text +"<br>" + this.v); 
            } else { 
                Ext.MessageBox.alert("提示","你已经取消了输入!"); 
            } 
        }
        function extPrompt(){
            //传统的
            /*
            var ret = prompt("请输入XXX:");
            alert(ret);
            */
            //Ext.MessageBox.prompt("提示", "随便写点什么吧!", callback); 
            //Ext.Msg.prompt("提示", "随便写点什么吧!", showResult); 
            Ext.Msg.prompt("提示", "随便写点什么吧!", showResult,b1,50,"defalt text"); 
    
        }
    
        function extWait(){
            var ret = Ext.Msg.wait("正在进行处理,请稍候...");
            setTimeout(function(){ret.hide();},3000);
        }
    
        function extProgress(){
            var ret = Ext.Msg.progress("处理进度","进度:");
            var r = 0;
            var timer = setInterval(function(){
                ret.updateProgress(r+=0.2,r*100+"%");
            
            },500);
            setTimeout(function(){
                clearInterval(timer);
            },5000);
    
        }
        //自定义对话框
        function extCustomDialog(){
            Ext.Msg.show({
                title:"保存数据",
                msg:"你已经做了一些操作,是否要保存当前内容的修改?",
                buttons:Ext.Msg.YESNOCANCEL,
                fn:doSave,
                icon:Ext.MessageBox.QUESTION
            
            });
    
        }
    
        function doSave(button,text){
            if(button=="yes"){
                //执行数据保存操作
            }else if(button == "no"){
                //执行不保存操作
            }else{
                //执行取消操作
            }
        }
    </script> 
    </HEAD> 
    <BODY> 
        传统对话框<br>
        <a href="javascript:alert('123');">alert</a>
        <br>
        <a href="#" onclick="confirm('是否继续?');">confirm确认对话框</a>
        <br>
        <a href="javascript:prompt('请输入XXX:');">prompt输入对话框</a>
        <br>
        Ext对话框<br>
        <a href="javascript:extAlert()">alert</a>
        <br>
        <a href="#" onclick="extConfirm();">confirm确认对话框</a>
        <br>
        <a href="javascript:extPrompt();">prompt输入对话框</a>
        <br>
        <a href="javascript:extWait();">wait对话框</a>
        <br>
        <a href="javascript:extProgress();">进度条对话框</a>
        <br>
        <a href="javascript:extCustomDialog();">自定义对话框</a>
    </BODY> 
    </HTML>

    自定义对话框也可以定义对话框的图标,只需要加上:“icon:Ext.MessageBox.INFO,//显示图标”,即可。同时也可以自定义图标,显示成你需要的图片,

    实现思路是:

    1. 先定义一个类样式,指定背景图片地址和不平铺;

    2. 在icon属性中引入类样式名;

  • 相关阅读:
    【clickhouse专栏】基础数据类型说明
    【clickhouse专栏】对标mongodb存储类JSON数据文档统计分析
    【小程序专栏】个人及企业资质分别该如何注册小程序
    【clickhouse专栏】新建库角色用户初始化
    20天等待,申请终于通过,安装和体验IntelliJ IDEA新UI预览版
    十二张图:从0开始理解对称/非对称加密、CA认证、以及K8S各组件颁发证书原由
    全局锁、表锁、行锁
    4年博主写博客的折腾之路
    (数据科学学习手札138)使用sklearnex大幅加速scikitlearn运算
    (数据科学学习手札139)geopandas 0.11版本重要新特性一览
  • 原文地址:https://www.cnblogs.com/mingforyou/p/3272703.html
Copyright © 2020-2023  润新知