showModalDialog回傳值的問題(轉貼)

2021-03-31 08:56:29 字數 800 閱讀 1821

在專案中遇到過此問題,不過已經解決了,今天才發現這篇文章,就轉貼上來了

如果在母視窗要用 window.showmodaldialog() 來開啟子視窗的話,

就不能在子視窗使用 window.opener 屬性來訪問母視窗 (文法很怪,但我不知道怎麼用文字描述比較好... )

我只想到下面這個解法,您參考看看。

首先,showmodaldialog() 的用法如下 (from msdn):

vreturnvalue = window.showmodaldialog(surl [, varguments] [, sfeatures])

由上得知這個 method 共有三個 input 引數,分別是 surl, varguments 與 sfeature,除了 surl 為目標網頁必須填寫之外,後兩個皆非必要引數。

我的想法是,您在母視窗要使用 showmodaldialog() 來開啟乙個子視窗時,將準備接收值的物件 (myobj) 帶進 varguments,子視窗只要取出該物件即取得母視窗中 myobj 的參照

這樣一來,您就可以直接對該物件進行操作,就跟您直接在母視窗中操作 myobj 是一樣的。

呃,上面的敘述好像還是很難懂... ?我附上兩個 html 來舉例好了...

請分別將兩段程式存檔,若檔名不是 aa.htm 與 bb.htm 的話請自行修改相關名稱。

這是母視窗 aa.htm

接下來是子視窗 bb.htm

程式流程就是,由 aa.htm 開啟 bb.htm,操作者在 bb.htm 輸入資料後按下送出鍵,該資料即顯示在 aa.htm 中。

showModalDialog引數詳解

showmodaldialog ie 4 支援 showmodelessdialog ie 5 支援 window.showmodaldialog 方法用來建立乙個顯示html內容的模態對話方塊。window.showmodelessdialog 方法用來建立乙個顯示html內容的非模態對話方塊。使...

showModalDialog相關問題

最近大量地用到了模式視窗,也遇到了不少問題,特總結於此,方便自己日後查閱,若能幫到他人,那就更好了。一 基本使用 語法 vreturnvalue window.showmodaldialog surl varguments sfeatures 引數說明 surl 指定對話方塊要顯示的url。varg...

showModalDialog引數詳解

基本介紹 showmodaldialog ie 4 支援 showmodelessdialog ie 5 支援 window.showmodaldialog 方法用來建立乙個顯示html內容的模態對話方塊。window.showmodelessdialog 方法用來建立乙個顯示html內容的非模態對...