ShowModalDialog函數的功能:
開啟一個子視窗,並且可與父視窗相互傳遞資料,它與window.open的最大區別就在於由ShowModalDialog開啟子視窗後,父視窗將不能操作。
使用方法:
vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])
參數說明:
sURL
必選參數,類型:字串。用來指定對話方塊要顯示的文檔的URL。
vArguments
選擇性參數,類型:變體。用來向對話方塊傳遞參數。傳遞的參數類型不限,包括數組等。對話方塊通過window.dialogArguments來取得傳遞進來的參數。
sFeatures
選擇性參數,類型:字串。用來描述對話方塊的外觀等資訊,可以使用以下的一個或幾個,用分號“;”隔開。
dialogHeight 對話方塊高度,不小於100px,IE4中dialogHeight 和 dialogWidth 預設的單位是em,而IE5中是px,為方便其見,在定義modal方式的對話方塊時,用px做單位。
dialogWidth: 對話方塊寬度。
dialogLeft: 距離案頭左的距離。
dialogTop: 離案頭上的距離。
center: {yes | no | 1 | 0 }:視窗是否置中,預設yes,但仍可以指定高度和寬度。
help: {yes | no | 1 | 0 }:是否顯示協助按鈕,預設yes。
resizable: {yes | no | 1 | 0 } [IE5+]:是否可被改變大小。預設no。
status: {yes | no | 1 | 0 } [IE5+]:是否顯示狀態列。預設為yes[ Modeless]或no [Modal]。
scroll:{ yes | no | 1 | 0 | on | off }:指明對話方塊是否顯示捲軸。預設為yes。
參數傳遞方法:
父視窗向子視窗傳遞參數採用ShowModalDialog的第2個參數即可,父視窗要擷取子視窗傳回的參數則可通過ShowModalDialog函數的傳回值擷取。
子視窗擷取父視窗參數的方法為採用子視窗window對象dialogArguments屬性擷取,例如:
var a=window.dialogArguments;
子視窗向父視窗返回參數採用window.returnValue屬性,如:
window.returnValue=1;
window.close();