Extjs 在实现消息框的时候,完全摈弃了传统的风格,不再弹出新的对话框,而是在当前页面跳出一个层,并将原页面完整覆盖。原来,只是一种模拟。在 Ext 中,定义了一个类MessageBox,该类还有一个更精简的名字Msg,所有消息框都定义在该类中。
建立dialogs.js文件。
提示框(Alert)
提示框的语法:Ext.MessageBox. alert ( String title, String msg, Function fn, Object scope );
参数定义如下:
- title:标题
- msg:提示内容
- fn:提示框关闭后自动调用的回调函数
- scope:作用域,用于指定this指向哪里,一般不用管他,特殊情况下有用
其实,通常情况下,我们用得更多的是title和msg两个参数
extjsAlert1=function(){
Ext.MessageBox.alert("提示框","这是一个提示框");
}
extjsAlert2=function(){
Ext.MessageBox.alert("提示框","这是一个提示框",function(){
alert("提示框关闭了");
});
}
记住函数名不要使用和DOM模型相同的名字,他们犯冲。
输入框(promt)
输入框用来提示输入字符串,相当于window.prompt()方法。
语法:Ext.MessageBox.prompt(String title,String msg, Function fn, Object scope, Boolean/Numbermultiline )
从定义中可以看到,前四个参数和提示框一样,最后多了一个参数,如果为true 或为数字,将允许输入多行或者指定默认高度(像素)。
extjsPromt1=function(){
Ext.MessageBox.prompt("输入框","请输入您的姓名:",function(btn,txt){
Ext.MessageBox.alert("结果","您点击了" + btn + "按钮,<br>输入内容为:" + txt);
});
}
extjsPromt2=function(){
Ext.MessageBox.prompt("输入框","请输入您的姓名:",function(btn,txt){
Ext.MessageBox.alert("结果","您点击了" + btn + "按钮,<br>输入内容为:" + txt);
},this,100);
}
单行输入