ExtJS Ext.MessageBox.alert()彈出對話框詳解
Ext.onReady(function() {
Ext.Msg.alert('提示', '逗號分隔參數(shù)列表'); //這種方式非常常見的
});
效果圖:

Ext.onReady(function() {
//定義 JSON(配置對象)
var config = {
title:'提示',
msg: 'JSON配置方式,簡單吧'
}
Ext.Msg.show(config);
});
效果圖:

上邊我只是簡單舉例,好了看到了漂亮的界面了吧!接下來認(rèn)識一下Ext.MessageBox
Ext.MessageBox是一個工具類,他繼承自O(shè)biect對象,用來生成各種風(fēng)格的信息提示對話框,Ext.Msg是該類的別名,使用Ext.MessageBox和用Ext.Msg效果是一樣的,而后者提供了更簡單的方式。在介紹前,下來了解Ext.MessageBox提供的信息提示框與JavaScript提供的原始信息提示框的差別,主要表現(xiàn)在3個方面,他們分別是“實現(xiàn)方式”、“顯示信息的格式”、和“對程序運(yùn)行的影響”,下面對著3方面分別進(jìn)行詳細(xì)說明。
1、 實現(xiàn)方式:
標(biāo)準(zhǔn)JavaScript提供的信息提示對話框是一個真正的彈出窗口。Ext.MessageBox提供的信息提示對話框并不是真正的彈出窗口,他只是在當(dāng)前頁面顯示的一個層(div),所以無法用窗口撲捉到軟件來的到他
2、 顯示信息的格式:
標(biāo)準(zhǔn)JavaScript提供的信息提示對話框中顯示的內(nèi)容不是HTML格式文本,而是純文本。
不能使用HEML中的格式化方法進(jìn)行排版,只能以空格、回車以及各種標(biāo)點符來構(gòu)建顯示格式。
Ext.MessageBox提供的信息提示對話框顯示的文本不僅支持純文本顯示還支持用HTML格式文本,采用HTML中的格式化方法進(jìn)行排版,效果更加豐富多彩。下面是一個簡單的示例。
<script type="text/javascript">
alert('只能用純文本');//這里不支持HTML格式的字符串
</script>
效果圖:

//支持html格式文本
Ext.onReady(function() {
Ext.Msg.alert('<font size=4>提示</font>','<font color=red> 支持html格式文本 </font>');
});
效果圖:

<script type="text/javascript">
Ext.onReady(function() {
alert('我會停止程序的執(zhí)行');
Ext.Msg.alert('提示','我不會停止程序的執(zhí)行');
});
</script>
效果圖:

<script type="text/javascript">
Ext.onReady(function() {
Ext.Msg.alert('提示','我不會停止程序的執(zhí)行');
alert('我會停止程序的執(zhí)行');
});
</script>
效果圖:

看到效果了很簡單很簡單吧!下面我們了解一下怎么回調(diào)函數(shù),一個只讀信息提示框,用來代替JavaScript標(biāo)準(zhǔn)的alert()方法有一個確定按鈕,如果其提供一個回調(diào)函數(shù),則該函數(shù)將在單擊按鈕后被調(diào)用(包括右上角的推出按鈕),所單擊按鈕的id將被作為唯一的參數(shù)傳遞到回調(diào)函數(shù)中。
調(diào)用格式:
alert( String title,String msg,[function fn],[Object scope]);
//參數(shù)說明
title: 提示框的標(biāo)題
msg: 顯示的信息內(nèi)容
[function fn]: (可選) 回調(diào)函數(shù)
[Object scopt]: (可選) 回調(diào)函數(shù)的作用域
返回值:
Ext.MessageBox
示例:
<script type="text/javascript">
Ext.onReady(function() {
Ext.MessageBox.alert('提示', '請單擊我 確定', callBack);
function callBack(id) {
alert('單擊的按鈕id是:'+id);
}
});
</script>
效果圖:
點擊OK的效果
點擊x的效果

提示:由于ExtJS的alert是異步執(zhí)行的不會產(chǎn)生阻塞,因此要將用戶確認(rèn)后才執(zhí)行的代碼放在回調(diào)函數(shù)中,否則在用戶確認(rèn)后續(xù)代碼就會執(zhí)行造成不必要的錯誤,這一點需要我們注意的。
相關(guān)文章
解決ExtJS在chrome或火狐中正常顯示在ie中不顯示的瀏覽器兼容問題
由于開發(fā)過程中大多用chrome來調(diào)試,很少在ie中調(diào)試(現(xiàn)在兩者都要兼顧),導(dǎo)致最后在ie中頁面不能正常加載,當(dāng)時那個囧啊,看到ie報的錯,我都想哭,連出錯的堆棧信息都沒有(這一點,ie做的真不好),無從下手啊2013-01-01
ExtJS PropertyGrid中使用Combobox選擇值問題
在PropertyGrid中使用Combobox來選擇值時,得到的應(yīng)該是displayField的值,但是在確認(rèn)選擇的時候卻顯示了valueField的值2010-06-06
層序遍歷在ExtJs的TreePanel中的應(yīng)用
今天幫朋友解決了一個問題:使用ExtJs的TreePanel控件,如何得到樹的第一個葉子節(jié)點的信息。2009-10-10
ExtJS Store的數(shù)據(jù)訪問與更新問題
ExtJS Store的數(shù)據(jù)訪問與更新問題,需要的朋友可以參考下。2010-04-04
EXTJS內(nèi)使用ACTIVEX控件引起崩潰問題的解決方法
在本人目前的項目中,前端部分完全使用EXTJS基于“One-Page”理念搭建。2010-03-03
extjs表格文本啟用選擇復(fù)制功能具體實現(xiàn)
extjs提供了方便的表格組件grid供使用,但是默認(rèn)情況下表格中的文本是不能被選中的,自然也是無法復(fù)制的,下面就為大家介紹下選擇復(fù)制功能如何啟用,感興趣的朋友可以了解下2013-10-10
關(guān)于extjs4如何獲取grid修改后的數(shù)據(jù)的問題
如何獲取grid修改后的數(shù)據(jù)問題,下面是API的描述??梢垣@取各種值,感興趣的朋友可以參考下2013-08-08

