windows.showmodaldialog 是什么請(qǐng)求
1.showModalDialog打開(kāi)的窗口想訪問(wèn)父窗口的數(shù)據(jù)的話代碼window.showModalDialog("filename.htm",window)在子窗體中用window.dialogArguments得到就是你的父窗體對(duì)象,這樣就能訪問(wèn)到父窗體數(shù)據(jù)了.
2.在子窗體應(yīng)用的文件的head區(qū)之間添加代碼<ba target="_lf"
這樣在打開(kāi)的子窗體中的鏈接仍然會(huì)在子窗體刷新,而不會(huì)跑到新窗口。。
3.配合上面這句以后,window.clo()就可以關(guān)閉打開(kāi)的Dialog了。
用window.showModalDialog打開(kāi)窗體如何關(guān)閉
1.showModalDialog打開(kāi)的窗口想訪問(wèn)父窗口的數(shù)據(jù)的話代碼window.showModalDialog("filename.htm",window)在子窗體中用window.dialogArguments得到就是你的父窗體對(duì)象,這樣就能訪問(wèn)到父窗體數(shù)據(jù)了.2.在子窗體應(yīng)用的文件的head區(qū)之間添加代碼<ba target="_lf"這樣在打開(kāi)的子窗體中的鏈接仍然會(huì)在子窗體刷新,而不會(huì)跑到新窗口。。3.配合上面這句以后,window.clo()就可以關(guān)閉打開(kāi)的Dialog了。
如何獲取window.showmodaldialog的參數(shù)
獲取window.showmodaldialog的參數(shù):
window.showModalDialog有一個(gè)屬性是url,你可以把這兩個(gè)參數(shù)通過(guò)url的get方法 var url = "ndreceive-oil!getDetailjsp.do?id="+id;傳到后臺(tái)action中,然后在action中保存這兩個(gè)參數(shù)用ActionContext.getContext().put("id", id);保存到actioncontext中,然后在子窗口用 <input name="id" type="hidden" id="id" value="${requestScope.id}"/>。然后在jsp用 document.getElementById("id").value;就可以得到這個(gè)參數(shù)了
關(guān)于初用window.open和window.showModalDialog使用的區(qū)別
彈出窗口兩種方式:
1.window.showModalDialog:
var feature = "dialogWidth:615px;dialogHeight:505px;status:no;help:no;scroll:no;resizable:no;center:yes";
window.showModalDialog(url, Object(傳給彈出窗口的參數(shù),可以是任何類型),feature)
決定窗口的外觀是第三個(gè)參數(shù)feature,其中center屬性指定為"yes",彈出窗口居中;
如果想手動(dòng)指定彈出窗口的具體位置,去掉center屬性,
用dialogTop(彈出窗口上邊界居屏幕上的距離)
dialogLeft(彈出窗口左邊界居屏幕左的距離)屬性
如:(距離是px像素),這里手動(dòng)指定彈出窗口位置居中
var iTop = (window.screen.availHeight-550)/2; //獲得窗口的垂直位置,550為彈出窗口的height;
var iLeft = (window.screen.availWidth-640)/2; //獲得窗口的水平位置,640為彈出窗口的width;
var feature = "dialogWidth:640px;dialogHeight:550px;status:no;help:no;scroll:no;resizable:no;dialogTop:'+iTop+';dialogLeft:'+iLeft+';";
2.window.open:
var feature = "width=615,height=505,menubar=no,toolbar=no,location=no,scrollbars=no,status=no,modal=yes"
window.open(url, "name(只能為字符串,不能傳window)", feature)
手動(dòng)指定彈出窗口位置,屬性top:(彈出窗口上邊界居屏幕上的距離)
屬性left:(彈出窗口左邊界居屏幕左的距離)
下面指定彈出窗口位置居中(這種方式?jīng)]有center屬性):
var iTop = (window.screen.availHeight-550)/2; //獲得窗口的垂直位置,550為彈出窗口的height;
var iLeft = (window.screen.availWidth-640)/2; //獲得窗口的水平位置,640為彈出窗口的width;
var feature = "width=615,height=505,top="+iTop+",left="+iLeft+",menubar=no,toolbar=no,location=no,scrollbars=no,status=no,modal=yes";
子窗口調(diào)用父窗口的東東(控件或者方法):
1. window.open打開(kāi)的子窗口有window.opener屬性
子窗口通過(guò)window.opener.xxxx獲得父窗口的東東。
如:window.opener.document.getElementById("urName");得到父頁(yè)面的控件。
window.opener.fresh();調(diào)用父頁(yè)面的js方法。
2. window.showModalDialog:不支持window.opener,
子窗口通過(guò)window.dialogArguments.xxxx獲得父窗口的東東。
父窗口通過(guò)showModalDialog(url,para,feature)第二個(gè)參數(shù)para傳參數(shù)給子窗口,
子窗口通過(guò)window.dialogArguments獲得父窗口穿過(guò)來(lái)的東西。
如:這里傳父頁(yè)面的window過(guò)去
父頁(yè)面:showModalDialog(url,window,feature)
子頁(yè)面:var name = window.dialogArguments.document.getElementById("urName").value;得到父頁(yè)面的控件。
var name = window.dialogArguments.fresh();調(diào)用父頁(yè)面的方法。
這里的window.dialogArguments里的window代表父頁(yè)面的window,它是通過(guò)showModalDialog方法的第二個(gè)參數(shù)window傳過(guò)來(lái)的,
當(dāng)然也可以傳數(shù)組或其它變量。
window.showModalDialog()模態(tài)窗口的最小化、最大化問(wèn)題
window.showModalDialog()模態(tài)窗口的最小化、最大化問(wèn)題
增加minimize:yes;maximize:yes;即可,如下
function openModal(){
window.showModalDialog("https://www.jianshu.com/",window,"dialogWidth:800px;dialogHeight:600px;edge:raid;resizable:yes;scroll:no;status:no;center:yes;help:no; minimize:yes;maximize:yes; ");
}
jsp中window.showModalDialog如何隱藏地址欄(jsp遵循了W3C)
showModalDialog彈出的dialog根本就不會(huì)有地址欄。
window其他參數(shù)含義及設(shè)置如下:
window.showModalDialog(sURL [, vArguments] [,sFeatures])
sFeatures的參數(shù)如下
1. dialogHeight: 對(duì)話框高度,不小于100px
2. dialogWidth: 對(duì)話框?qū)挾取?br />3. dialogLeft: 離屏幕左的距離。
4. dialogTop: 離屏幕上的距離。
5. center: { yes | no | 1 | 0 } : 是否居中,默認(rèn)yes,但仍可以指定高度和寬度。
6. help: {yes | no | 1 | 0 }: 是否顯示幫助按鈕,默認(rèn)yes。
7. resizable: {yes | no | 1 | 0 } [IE5+]: 是否可被改變大小。默認(rèn)no。
8. status: {yes | no | 1 | 0 } [IE5+]: 是否顯示狀態(tài)欄。默認(rèn)為yes[ Modeless]或no[Modal]。
9. scroll: { yes | no | 1 | 0 | on | off }:是否顯示滾動(dòng)條。默認(rèn)為yes。