实用ExtJS教程100例-005:自定义对话框Ext.MessageBox.show

我们对ExtJS对话框进行了三篇演示:

通过上面三篇内容的演示,相信你已经基本上了解了ExtJS的基本样式,这篇文章将演示如何使用自定义ExtJS对话框。

Ext.MessageBox.show演示

要显示自定义的对话框,我们需要用到Ext.MessageBox.show方法。先来看一个简单的例子:

Ext.get("btn1").on("click", function () {
    Ext.MessageBox.show({
        title: "地址",
        msg: "请输入您的详细地址:",
        width: 300,
        buttons: Ext.MessageBox.OKCANCEL,
        multiline: true,
        fn: saveAddress,
        animateTarget: "btn1",
        icon: Ext.MessageBox.INFO
    });
});

function saveAddress(btnId, text) {
    if (btnId == "ok") {
        alert(text);
    }
    else {
        //其它的处理代码
    }
}

看到了吧,Ext.MessageBox.show方法的参数是一个配置对象,配置中有title、msg、width、buttons等配置项,用来决定对话框的显示内容。

这些配置项的说明如下:

  • title:标题
  • msg:内容
  • width:对话框窗口的宽度
  • buttons:对话框底部显示的按钮,它可以是下面的枚举值:
    • Ext.MessageBox.OK
    • Ext.MessageBox.YES
    • Ext.MessageBox.NO
    • Ext.MessageBox.CANCEL
  • 或者可以是一些按钮组合:
    • Ext.MessageBox.OKCANCEL
    • Ext.MessageBox.YESNO
    • Ext.MessageBox.YESNOCANCEL
  • multiline:为true的时候显示一个多行的输入框,默认为false
  • fn:回调函数,它接收三个参数:
    • buttonId:用户点击的按钮的id,如果是OK按,就是小写的ok。由于有四种按钮,所以它的值可以是:ok、no、yes、cancel
    • text:在有文本框的对话框中,text为用户输入的值
    • opt:传递给show方法的配置项
  • animateTarget:显示打开/关闭动画时候的目标元素,可以是元素id或Ext.dom.Element对象
  • icon:对话框中显示的图标,它的可用项有:
    • Ext.MessageBox.INFO
    • Ext.MessageBox.WARNING
    • Ext.MessageBox.QUESTION
    • Ext.MessageBox.ERROR

运行我们的示例,效果图如下【ExtJS自定义对话框在线示例,包含广告】:

我们可以使用自定义对话框显示之前所有的效果。

自定义alert

Ext.get("btn2").on("click", function () {
    Ext.MessageBox.show({
        title: "提示",
        msg: "您点击了按钮",
        buttons: Ext.MessageBox.OK
    });
});

自定义confirm

Ext.get("btn3").on("click", function () {
    Ext.MessageBox.show({
        title: "提示",
        msg: "确定删除吗?",
        buttons: Ext.MessageBox.OKCANCEL,
        fn: function (btnId) {
            if (btnId == "ok") {
                alert("点击了确定按钮");
            }
            else {

            }
        }
    });
});

自定义进度条对话框

Ext.get("btn4").on("click", function () {
    Ext.MessageBox.show({
        title: "进度条对话框",
        msg: "正在处理,请稍候...",
        progress: true
    });
    updateProgress(0);
});

我们的updateProgress()方法仍然使用ExtJS进度条对话框示例中的方法。

自定义等待对话框

Ext.get("btn5").on("click", function () {
    Ext.MessageBox.show({
        title: "等待对话框",
        msg: "正在处理,请稍候...",
        wait: true
    });
    Ext.defer(function () { Ext.MessageBox.close(); }, 3000);
});

本文还发布在了ExtJS教程网站起飞网上面,如果转载请保留本段声明,谢谢合作。

如果认为此文对您有帮助,别忘了支持一下哦!

作者:齐飞

来源:http://youring2.cnblogs.com/

声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。

转载:http://www.cnblogs.com/youring2/p/extjs-100-examples-005-custom-messagebox.html

时间: 2024-08-26 16:19:43

实用ExtJS教程100例-005:自定义对话框Ext.MessageBox.show的相关文章

实用ExtJS教程100例-001:开天辟地的Hello World

ExtJS功能繁多,要想彻底的了解确实很困难.作为初学者,如何能找到一条快速的通道呢?我觉得,如果你有Javascript的基础,那就不要惧怕ExtJS的复杂,从动手开始,遇到问题,解决问题,积累经验,这是一条非常快速的学习途径. 从今天开始我将完成一系列ExtJS使用中常常用到的功能,并通过例子的形式告诉大家如何一步一步的完成,相信我,ExtJS并不可怕! 本系列教程以代码演示为主,代码讲解相结合,尽量将ExtJS的学习难度降到最低. 要学习本系列教程,你需要具有以下知识: 熟悉Javascr

实用ExtJS教程100例-003:进度条对话框Ext.MessageBox.progress

在上一篇内容中我们介绍了三种常用的MessageBox提示框,在这篇文章中,我们将演示如何在对话框中使用进度条. 进度条对话框 我们可以使用下面的代码来在MessageBox中显示一个进度条: Ext.get("btn4").on("click", function () { Ext.MessageBox.progress("进度", "正在处理,请稍候...", "0%"); }); 在上面的代码中,我们

实用ExtJS教程100例-002:MessageBox的三种用法

在上一节中,我们用到了MessageBox,在本文中,我们将介绍一下ExtJS中常用的三种MessageBox. Ext.MessageBox.alert() 这个方法用来打开一个普通的对话框,对话框中只显示一个确定按钮. Ext.get("btn1").on("click", function () { Ext.MessageBox.alert("提示", "按钮被点击"); }); 第一个参数为标题栏 第二个参数为内容 效

实用ExtJS教程100例-006:ExtJS中Window的用法示例

在前面几个示例中,我们演示了MessageBox的各种用法,今天这篇文章将演示如何使用Window. 我们首先来创建一个窗口: var win = Ext.create("Ext.window.Window", { title: "标题 - www.qeefee.com", //标题 height: 200, //高度 width: 400, //宽度 layout: "fit", //窗口布局类型 modal: true, //是否模态窗口,默

实用ExtJS教程100例-011:ExtJS Form 使用JSON数据赋值和取值

上一节中我们演示了ExtJS Form的异步加载和提交数据,本节中我们将演示如何使用JSON数据为ExtJS Form中的字段赋值和取值. 系列ExtJS教程持续更新中,点击查看>>最新ExtJS教程目录 使用JSON数据为字段赋值 var formCmp = this.up("form"); var form = formCmp.getForm(); var userValues = { UserName: "Qi Fei", Email: "

实用ExtJS教程100例-009:ExtJS Form无刷新文件上传

文件上传在Web程序开发中必不可少,ExtJS Form中有一个filefield字段,用来选择文件并上传.今天我们来演示一下如何通过filefield实现ExtJS Form无刷新的文件上传. 首先,我们创建一个Form,它包含一个filefield字段 然后,我们通过Form的submit方法进行提交,此时,ExtJS会自动判断,如果Form中包含filefield字段,Form的method会设置为post 最后,我们通过服务器接收form提交的数据,并返回一段json字符串 ExtJS

Android简明开发教程十八:自定义对话框Transform

Android自带的AlertDialog,ProgressDialog,DatePickerDialog,TimePickerDialog 可以用于简单的对话框显示.当还是有 这些对话框不能满足应用需要的时候,这时就可以使用一些自定 义的对话框.有多种方法可以实现自定义对话框.一是使用Activity作为Dialog,可以通过设置Activity显示Dialog风格,使得 该Activity在外观上和Dialog一致:显示在其它Activity前面 且半透明. <Activity androi

068_《Delphi7控件实用程序设计100例》

<Delphi7控件实用程序设计100例> Delphi 教程 系列书籍 (068) <Delphi7控件实用程序设计100例> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Pdf 作者: 段兴 宋雷 张敬韶 孙丽娜 丛书名: 程序设计实例丛书 出版社:人民邮电出版社 ISBN:7115112975 上架时间:2003-7-21 出版日期:2003 年6月 开本:16开 页码:332 版次:1-1 内容简介 本书选取了利用Delphi 7开发的控件方面

090_《Delphi6控件实用程序设计100例》

<Delphi6控件实用程序设计100例> Delphi 教程 系列书籍 (090) <Delphi6控件实用程序设计100例> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Part1 Part2 Part3 作者: 段兴 丛书名: 数据库与控件程序设计实例丛书 出版社:人民邮电出版社 ISBN:7115106290 上架时间:2002-11-4 出版日期:2002 年10月 开本:16开 页码:330 版次:1-1 内容简介 本书选取了利用Delph