---- 1. 基本語法
---- window物件有乙個方法稱為showmodaldialog,我們可以在頁面按鈕的onclick中寫如下**:
< button οnclick="window.showmodaldialog('dialog.htm')" >search< /button >
---- 系統會在新視窗中開啟dialog.htm頁面,並且等待使用者響應,如果使用者不響應該頁面,那麼主頁面將得不到游標。
---- 在dialog.htm中設定window物件的returnvalue屬性,就可以讓主頁面得到返回值。例如,在頁面的確定按鈕的onclick中寫:
window.returnvalue = window. document.all.iptpeopleid.value
---- 將輸入框iptpeopleid的值賦給window物件的returnvalue屬性。在主頁面中就可以得到這個值:
var str = showmodaldialog("dialog1.htm")
---- 2. 傳遞初始化值
---- 如果要向模態頁面中傳遞初始化值,可以在主頁面中用如下語句:
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. 傳遞多個數值
---- 如果要向模態頁面中傳遞多個引數,可以先在主頁面中定義乙個物件,
function mydialog()
---- 顯示模態頁面之前初始化該物件,然後呼叫showmodaldialog方法。
function welcomeyou(inistr1,inistr2) {
mydialog.str1 = inistr1;
mydialog.str2 =inistr2 ;
if (showmodaldialog("dialog2.htm", mydialog)
==false) //將物件傳入
......
---- 在模態頁面中,可以用這樣的**
window.document.all.iptid.value= window.dialogarguments.str1
來引用數值,或者用這樣的**對之賦值
window.dialogarguments.str1 =window.document.all.iptid.value
---- 完整例程如下:
---- 對於只傳遞乙個引數的情況,見:main1.htm和dialog1.htm。
---- 對於傳遞多個引數的情況,見:main2.htm和dialog2.htm。
父窗體:
dim *** '返回值
dim yyy '傳到子窗體的引數
var *** = showmodaldialog('***.asp','yyy','dialogwidth:100px;dialogheight=290px;status:no')
子窗體:
dim yyy '從父窗體傳來的引數
dim *** '傳回父窗體的引數
yyy = window.dialogarguments
*** = window.returnvalue
32.關於模態視窗(showmodaldialog)的專題討論! 詳細見模態視窗壓縮包
1.模態視窗的開啟
2.模態視窗的關閉
3.模態視窗的傳遞引數。
4.其他。。。。
1.window.showmodaldialog("dialogpage.aspx","newwin","dialogheight: 200px; dialogwidth: 150px; dialogtop: 458px; dialogleft: 166px; edge: raised; center: yes; help: yes; resizable: yes; status: yes;");
2.window.close();
3.傳值
parentpage.aspx:
window.showmodaldialog("dialogpage.aspx?para1=aaa¶2=bbb");
dialogpage.aspx:
string str1=request.querystring["para1"].tostring();
string str2=request.querystring["para2"].tostring();
返回值
dialogpage.aspx:
window.returnvalue="aaa";
parentpage.aspx:
parentpage.aspx.cs
buttondept.attributes["onclick"] = "return deptreturn();";
4. aspx頁面在showmodeldialog情況下為什麼一提交就重新開啟乙個頁面?
showmodaldialog開啟的頁面中在之間加入一行:
C 視窗傳值
1 父視窗傳值給子視窗 form1中 public form1 private void button1 click object sender,eventargs e form2中 private string string1 public string string1 public void s...
視窗傳值總結
類的方式 1 公開的靜態變數,直接就可以用了 2 把值作為新窗體的建構函式的引數,就可以傳過去了 3 新窗體設定屬性,在舊窗體例項化新窗體的時候,把該屬性設定為需要傳的值 4 舊窗體設定乙個get引數的方法,在新窗體例項化舊窗體,然後通過它的方法獲得需要傳過來的值 窗體的方式 5 在舊窗體中例項化新...
模態對話方塊子視窗與父視窗傳資料
現在父視窗中寫乙個方法帶引數的 如 function getcatename data function selectcate cancel true 然後在子視窗傳過去資料 formadd ajaxsubmit error function xhr,textstatus,errorthrown 在...