在傳統(tǒng)的WINDOWS EXE程序中,模態(tài)對話框經(jīng)常出現(xiàn)。例如,寫字板程序(WORDPAD.EXE)中的“查看/選項(xiàng)(O)...”菜單被點(diǎn)中后,跳出“選項(xiàng)”對話框,用戶一定要響應(yīng)該對話框,如果該對話框不關(guān)閉,是無法回到主窗口的。這經(jīng)常被應(yīng)用于要求用戶輸入多個(gè)參數(shù)的場合。我們在瀏覽器中也可以簡單地實(shí)現(xiàn)該功能。
---- 在IE瀏覽器中,要求用戶輸入可以使用VBScript的INPUTBOX函數(shù)、或者J Script的window.prompt方法,但是界面都比較單調(diào),并且只能傳遞一個(gè)參數(shù),而用DHTML來實(shí)現(xiàn)就靈活多了。
---- 1. 基本語法
---- window對象有一個(gè)方法稱為showModalDialog,我們可以在頁面按鈕的onclick中寫如下代碼:
< BUTTON onclick="window.showModalDialog
('dialog.htm')" >Search< /BUTTON >
---- 系統(tǒng)會在新窗口中打開dialog.htm頁面,并且等待用戶響應(yīng),如果用戶不響應(yīng)該頁面,那么主頁面將得不到光標(biāo)。
---- 在dialog.htm中設(shè)置window對象的returnValue屬性,就可以讓主頁面得到返回值。例如,在頁面的確定按鈕的onclick中寫:
window.returnValue = window.
document.all.iptPeopleID.value
---- 將輸入框iptPeopleID的值賦給window對象的returnValue屬性。在主頁面中就可以得到這個(gè)值:
var str = showModalDialog("dialog1.htm")
---- 2. 傳遞初始化值
---- 如果要向模態(tài)頁面中傳遞初始化值,可以在主頁面中用如下語句:
var cSearchValue=showModalDialog
('dialog.htm', 'ABC')
在dialog.htm中使用window.dialogArguments
屬性可以得到'ABC'。例如:
< SCRIPT FOR=window EVENT=onload LANGUAGE="JScript" >
if (window.dialogArguments != null)
window.document.all.iptPeopleID.value = window.dialogArguments;
< /SCRIPT >
---- 3. 傳遞多個(gè)數(shù)值
---- 如果要向模態(tài)頁面中傳遞多個(gè)參數(shù),可以先在主頁面中定義一個(gè)對象,
function myDialog() {
var str1;
var str2;
}
---- 顯示模態(tài)頁面之前初始化該對象,然后調(diào)用showModalDialog方法。
function WelcomeYou(iniStr1,iniStr2) {
myDialog.str1 = iniStr1;
myDialog.str2 =iniStr2 ;
if (showModalDialog("dialog2.htm", myDialog)
==false) //將對象傳入
......
---- 在模態(tài)頁面中,可以用這樣的代碼
window.document.all.iptID.value=
window.dialogArguments.str1
來引用數(shù)值,或者用這樣的代碼對之賦值
window.dialogArguments.str1 =
window.document.all.iptID.value
---- 完整例程如下:
---- 對于只傳遞一個(gè)參數(shù)的情況,見:Main1.htm和dialog1.htm。
---- 對于傳遞多個(gè)參數(shù)的情況,見:Main2.htm和dialog2.htm。
父窗體:
dim xxx '返回值
dim yyy '傳到子窗體的參數(shù)
var xxx = ShowModalDialog('xxx.asp','yyy','dialogWidth:100px;DialogHeight=290px;status:no')
子窗體:
dim yyy '從父窗體傳來的參數(shù)
dim xxx '傳回父窗體的參數(shù)
yyy = window.dialogArguments
xxx = window.returnValue
本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/liang4571231/archive/2009/04/29/4135316.aspx
showModalDialog使用方法
只有注冊用戶登錄后才能發(fā)表評論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關(guān)文章:
|
||