模態視窗傳值

2021-04-12 17:19:57 字數 2730 閱讀 2159

---- 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 在...