最外層父頁(yè)面:
專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)江津免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000+企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
function?popup(childFrame,callback){
//?do?something
childFrame[callback].call(childFrame,returnValue);
}
子頁(yè)面:
elem.onclick?=?function(){
window.top.popup(window.self,"doInChildFrame");
}
function?doInChildFrame(returnValuse){
//?do?something?with?returnValue
}
這樣,在子頁(yè)面中的elem元素被點(diǎn)擊之后,就會(huì)觸發(fā)最外層父頁(yè)面的popup函數(shù),并且把子頁(yè)中的window對(duì)象傳給父頁(yè)面,當(dāng)父頁(yè)面執(zhí)行完操作之后,就會(huì)執(zhí)行子頁(yè)面的"callback"函數(shù),還可以傳入?yún)?shù)。
(1)$("#id",window.opener.document).val(賦值);
或者$("#id",window.opener.document).html(賦值)
(2)上述(1)中的id為父窗口元素的id,獲得后可以給賦值用val方法或者h(yuǎn)tml方法
(3)原生js可以這樣寫:
window.opener.document.getElementById("id").value=賦值或者
window.opener.document.getElementById('cname').innerHTML=賦值
子頁(yè)面元素需要獲取父頁(yè)面的元素做如下操作:
$("#父頁(yè)面元素id" , parent.document)
取父窗口的元素方法:
$(selector, window.parent.document);
那么你取父窗口的父窗口的元素就可以用:
$(selector, window.parent.parent.document);
類似的,取其它窗口的方法大同小異,
$(selector, window.top.document);
$(selector, window.opener.document);
$(selector, window.top.frames[0].document);
js:
父窗口:
1、input type="text" name="currentProjectIDForDetail" id="currentProjectIDForDetail"
disabled
2、input type="button"
onclick="window.open('showDetails.html','','toolsbar=no,menubar=no,resizable=yes,scrollb
ars=yes')" value="查看已有明細(xì)" id="showDetail" /
子窗口:
curproject = window.opener.document.getElementById("currentProjectIDForDetail").value;
jQuery:
父窗口:
input type="text" name="aa" id="aa" /
input type="button"
onclick="window.open('son.html','','toolsbar=no,menubar=no,resizable=yes,scrollbars=yes')
" value="send" /
子窗口:
script
$(function () {
temp=$("#aa",window.opener.document).val();
$("#bb").html(temp);
})
/script
/head
body
div id="bb"/div
1、在父頁(yè)面訪問Iframe子窗體的txtAddress控件
window.frames["ifrMapCompanyDetails"].document.all("txtAddress").value = '地址' ;
2、在Iframe子窗體1訪問父頁(yè)面的TextBox1控件 , 子窗體1把值賦給子窗體2的某個(gè)控件
string strValue = "從子窗體傳遞給父頁(yè)面的值" ;
下面是在Page_Load事件里面調(diào)用的,當(dāng)然可以寫在javascript腳本里面
this.Response.Write("scriptparent.document.all('TextBox1').value = '" + strValue + "';/script");
this.Response.Write("scriptif( parent.document.all('TextBox2').value = '0')parent.document.all('TextBox1').value = '44';/script");
3、子窗體訪問父窗體中的全局變量:
parent.xxx;
4、在Iframe子窗體1訪問子窗體2的txtAddress控件 子窗體1把值賦給子窗體2的某個(gè)控件
window.parent.frames["ifrMapCompanyDetails"].document.all("txtAddress").value = '地址' ;
父窗體提交兩個(gè)Iframe子窗體
window.frames["ifrMapCompanyDetails"].Form1.submit();
window.frames["ifrMapProductInfoDetails"].Form1.submit();
Iframe子窗體 調(diào)用父頁(yè)面的javascript事件
window.parent.XXX()
//父頁(yè)面調(diào)用當(dāng)前頁(yè)面中IFRAME子頁(yè)面中的腳本childEvent
function invokechildEvent()
{ var frm = document.frames["ifrChild1"].childEvent(); }
或者調(diào)用當(dāng)前頁(yè)面中第一個(gè)IFRAME中的腳本childEvent
{ var frm = document.frames[0]; frm.childEvent(); }
//子頁(yè)面調(diào)用父窗體的某個(gè)按鈕的按鈕事件
window.parent.Form1.btnParent.click()
父頁(yè)面調(diào)用子窗體的某個(gè)按鈕的按鈕事件
window.frames['ifrChild1'].document.all.item("btnChild3").click();
//jquery 部分:
1.在父窗口中操作 選中IFRAME中的所有單選鈕
$(window.frames["iframe1"].document).find("input[@type='radio']").attr("checked","true");
2.在IFRAME中操作 選中父窗口中的所有單選鈕
$(window.parent.document).find("input[@type='radio']").attr("checked","true");