ExtJS前端框架EXT弹出窗口事件
https://blog.csdn.net/alsyuan/article/details/73240841
Ext.MessageBox.alert()
Ext.MessageBox.alert()提供一个OK按钮。对应JavaScript中的alert()。
定义:alert( Stringtitle,Stringmsg,[Function fn], [Object scope] ) :Ext.MessageBox
该函数有4个参数:
Title:窗口标题
Msg:弹出窗口内容
Fn:回调函数,在单击按钮或单击右上角的关闭图标X后执行。并且携带一个参数,即按钮的Id。
Scope:作用范围。
示例:
// alert
Ext.get("alert").on("click",function() {
Ext.MessageBox.alert("标题","这是提示的内容",function(r) {
alert(r);
});
});
<</span>input type="button" value="alert"id="alert">
在按钮alert上绑定click事件,单击时弹出alert窗口,单击OK按钮后,调用回调函数弹出按钮id。
单击alert按钮,

单击OK按钮,

单击右上角的X,则返回cancel。
24.2Ext.MessageBox.confirm()
选择对话框,提供一个Yes,一个No供用户选择是/否。对应JavaScript中的confirm()。
定义:
confirm( Stringtitle,Stringmsg,[Function fn], [Object scope] ) :Ext.MessageBox
该函数有4个参数:
Title:窗口标题
Msg:弹出窗口内容
Fn:回调函数,在单击按钮或单击右上角的关闭图标X后执行。并且携带一个参数,即按钮的Id。
Scope:作用范围。
示例:
// confirm
Ext.get("confirm").on("click",function() {
Ext.MessageBox.confirm("标题","确认执行此项操作吗?",function(r) {
alert(r);
});
});
<</span>input type="button" value="confirm"id="confirm">
单击confirm按钮:

单击Yes返回yes;单击No返回No;单击X返回No。
24.3Ext.MessageBox.prompt()
用户可以输入内容,对应JavaScript中的prompt();
定义:
prompt( Stringtitle,Stringmsg,[Function fn], [Object scope], [Boolean/Number multiline], [String value] ) :Ext.MessageBox
参数:
Title:标题
Msg:内容
Fn:回调函数。
Scope:作用范围
Multiline:是否多行,默认单行。
Value:输入框的默认值。
24.3.1单行输入框
示例:
// prompt
Ext.get("prompt").on("click",function() {
Ext.MessageBox.prompt("提示","请输入你的名字",function(btn,value) {
alert("你选择了" + btn + ",你输入的内容是:" + value);
},this,false,"刘德华");
});
<</span>input type="button" value="prompt"id="prompt">
单击prompt按钮:

单击OK返回OK,单击Cancel返回cancel,单击X返回cancel。
24.3.2多行输入框
24.3.2.1使用Ext.MessageBox.prompt()函数实现
多行输入对话框,将multiline设置为TRUE即可。
// prompt
Ext.get("prompt").on("click",function() {
Ext.MessageBox.prompt("提示","请输入你的名字",function(btn,value) {
alert("你选择了" + btn + ",你输入的内容是:" + value);
},this,true,"刘德华");
});
<</span>input type="button" value="prompt"id="prompt">

24.4.2.2使用Ext.MessageBox.show()实现
使用ext.MessageBox.show()函数,我们可以自行定义弹出窗口。
Ext.MessageBox.show({
title:"提示",
msg:"请输入你的名字",
width:300,
value:"刘德华",
buttons:Ext.MessageBox.OKCANCEL,
multiline:true,
fn:function(btn,val) {
alert("你选择了" + btn + ",你输入的内容是:" + val);
}
});
参数:
Title:标题
Msg:弹出窗口提示内容
Width:弹出窗口宽度
Value:弹出窗口输入框默认值
Buttons:弹出窗口按钮
Multiline:是否多行输入
Fn:回调函数。
24.4自定义对话框
在24.3.2.2中我们使用Ext.MessageBox.show()函数实现了能多行输入的提示窗口。
Show()函数中,buttons我们可以选择的按钮有:
CANCEL:cancel
OK:ok
OKCANCEL:ok and cancelbuttons
YESNO:yes and no buttons
YESNOCANCEL:yes、no、cancel buttons
弹出窗口的图标(icon):
ERROR:错误
INFO:消息
QUESTION:疑问
WARNING:警告
我们可以利用这些自定义按钮和图标。
例:
Ext.MessageBox.show({
title:"提示",
msg:"请输入你的名字",
width:300,
value:"刘德华",
buttons:Ext.MessageBox.OKCANCEL,
icon:Ext.MessageBox.ERROR,
multiline:true,
fn:function(btn,val) {
alert("你选择了" + btn + ",你输入的内容是:" + val);
}
});
效果:

24.5进度条
Ext.MessageBox提供了默认的进度条,只需要将progress设置为TRUE即可。
示例:
Ext.MessageBox.show({
width:300, // 弹出窗口宽度
title:"提示", // 弹出窗口标题
msg:"正在读取数据...", // 弹出窗口内容
progress:true, // 是否是进度条
closable:false // 是否可以关闭
});
效果:

但是,这样进度条是不会动的。
我们需要调用Ext.MessageBox.updateProgress()来更新进度条。
函数定义:
updateProgress( Numbervalue,StringprogressText,Stringmsg ): Ext.MessageBox
24.5使用进度条保存数据
示例:
var box =Ext.MessageBox.show({
width:300,
title:"提示",
msg:"正在保存,请稍后...",
progress:true,
closable:false,
wait:true,
waitConfig:{
interval:500
}
});
Ext.Ajax.request({
url:"./jsp/progress.jsp",
params:{
date:new Date().toLocaleString()
},
method:"POST",
success:function(r) {
Ext.MessageBox.hide();
Ext.Msg.show({
title:"提示",
msg:r.responseText
});
},
failure:function(r){
Ext.MessageBox.hide();
Ext.Msg.show({
title:"提示",
msg:"操作失败"
});
}
});
});
Progress.jsp:
String date = request.getParameter("date");
System.out.println(date);
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
Thread.sleep(5000L);
response.getWriter().write("数据保存成功!提交时间:" + date);
在jsp中,暂停5S模拟操作数据库的过程,然后返回成功信息。
效果:
单击保存后:

后台返回数据后:

24.6Ext.Window
示例:
// Create tabs and add it into window
var tabs= new Ext.TabPanel({
activeTab:0,
defaults:{autoScroll:true},
region:"center",
items:[
{title:"标签1",html:"内容1"},
{title:"标签2",html:"内容2"},
{title:"标签3",html:"内容3",closable:true}
]
});
var p = new Ext.Panel({
title:"导航",
width:150,
region:"west",
split:true,
collapsible:true
});
// Create a window
varwindow = new Ext.Window({
title:"登陆", // 窗口标题
width:700, // 窗口宽度
height:350, // 窗口高度
layout:"border",// 布局
minimizable:true, // 最大化
maximizable:true, // 最小化
frame:true,
constrain:true, // 防止窗口超出浏览器窗口,保证不会越过浏览器边界
buttonAlign:"center", // 按钮显示的位置
modal:true, // 模式窗口,弹出窗口后屏蔽掉其他组建
resizable:false, // 是否可以调整窗口大小,默认TRUE。
plain:true,// 将窗口变为半透明状态。
items:[p,tabs],
buttons:[{
text:"登陆",
handler:function() {
Ext.Msg.alert("提示","登陆成功!");
}
}],
closeAction:'hide'//hide:单击关闭图标后隐藏,可以调用show()显示。如果是close,则会将window销毁。
});
Ext.get("window").on("click",function() {
window.show();
});
效果:

ExtJS前端框架EXT弹出窗口事件的更多相关文章
- 深入浅出ExtJS 第七章 弹出窗口
7.1 Ext.MessageBox 7.1 Ext.MessageBox //Ext.MessageBox为我们提供的alert/confirm/prompt等完全可以代替浏览器原生; 7.1.1 ...
- Win8 弹出窗口不在最前端的解决方法
Win8系统的使用者有很多会遇到弹出窗口不在最前端的情况(自动隐藏,点下页面又出来),比如另存为的时候 ,或是登录路由器时弹出的登录框时. 引起这个异常的原因是与系统输入法冲突引起,但又不可能不用第三 ...
- 读《深入理解Windows Phone 8.1 UI控件编程》1.4.3 框架的应用示例:自定义弹出窗口有感
前些天买了园子里林政老师的两本 WP8.1 的书籍.毕竟想要学得深入的话,还是得弄本书跟着前辈走的. 今天读到 1.4.3 节——框架的应用示例:自定义弹出窗口这一小节.总的来说,就是弄一个像 Mes ...
- fancybox 关闭弹出窗口 parent.$.fancybox.close(); 无反应 fancybox 关闭弹出窗口父页面自动刷新,弹出子窗口前后事件
当我们在父页面使用 fancybox 弹出窗口后,如果想自己手动关闭,则可以 function Cancel() { parent.$.fancybox.close(); } 如果关闭没有反应,最好看 ...
- jQuery弹出窗口完整代码
jQuery弹出窗口完整代码 效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/1.htm 1 <!DOCTYPE html PUBLIC "- ...
- (转)弹出窗口lhgDialog API文档
应用到你的项目 如果您使用独立版本的lhgDialog窗口组件,您只需在页面head中引入lhgcore.lhgdialog.min.js文件,4.1.1+版本做了修改可以和jQuerya库同时引用, ...
- asp.net弹出窗口并返回值
a.html <form name="form1" method="post" action=""> <a href=&q ...
- jqueryeasyUI dialog 弹出窗口超出浏览器,导致不能关闭的bug解决方案
jqueryeasyUI dialog 弹出窗口超出浏览器,导致不能关闭的bug解决方案 2014年8月30日 3233次浏览 相信很多前端朋友都用过jqueryeasyUI,jqueryeasyUI ...
- Add an Action that Displays a Pop-up Window 添加显示弹出窗口按钮
In this lesson, you will learn how to create an Action that shows a pop-up window. This type of Acti ...
随机推荐
- UvaLive3942(Trie + dp)
查了半天数组越界的RE,才发现自己把ch数组放结构体里是过大的……放全局就A了. 类似区间的dp比较显然,只是用trie树做了优化,使得可以在trie树里一边走一边往上加dp值,不必枚举以前的每个位置 ...
- 线段树(单点更新) POJ 2828 Buy tickets
题目传送门 /* 结点存储下面有几个空位 每次从根结点往下找找到该插入的位置, 同时更新每个节点的值 */ #include <cstdio> #define lson l, m, rt ...
- adb shell报错:error: insufficient permissions for device的解决办法
1.错误描述 执行 adb shell 时,报错如下; error: insufficient permissions for device 2.解决办法 1,终端执行 lsusb 结果如下,注意绿 ...
- C. Jon Snow and his Favourite Number DP + 注意数值大小
http://codeforces.com/contest/768/problem/C 这题的数值大小只有1000,那么可以联想到,用数值做数组的下标,就是类似于计数排序那样子.. 这样就可以枚举k次 ...
- 1051 - Good or Bad DFS 记忆化搜索
http://lightoj.com/volume_showproblem.php?problem=1051 对于每个位置,设dfs(cur, one, two)表示前i个字母,拥有辅音字母one个, ...
- 【学习笔记】后端中的MVC和前端MVVM的关系
- How the performance impacts your revenue-性能影响营收
看完国外一个APM厂商最后的一个业务介绍视频,终于想通了PE领域中最顶层的应用目标,也就是如标题所云.那么这个影响效果是如何做到的?最终的步骤其实很简单,也就是利用大数据进行分析.而自己先前还没有想到 ...
- Javaweb学习笔记6—EL表达式与JSTL及自定义标签
今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps: ...
- pspad的一个怪现象:在一些空行的位置出现个别不该出现的字符
在用pspad编辑一个外来文件时,发现有许多空行的结尾会出现一些单个字符,字符内容与翻页前那一页相应位置的字符相同. 好奇怪.上网找不到原因.pspad太好用了,不想因此放弃. 仔细观察,这些空行往往 ...
- (转)Spring如何装配各种集合类型的属性
http://blog.csdn.net/yerenyuan_pku/article/details/52858499 在前面我们已经会注入基本类型对象和其他bean,现在我们就来学习如何注入各种集合 ...