1. 程式人生 > >js子視窗與父視窗的呼叫

js子視窗與父視窗的呼叫

子視窗與父視窗的呼叫 

注意:要用open開啟才行,如果用openModal開啟則會訪問不到opener.

順便說下open的引數:

window.open('page.html','newwindow','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no');

引數說明

'page.html' 彈出視窗的檔名; 'newwindow' 彈出的新視窗的名字,非必須,可用空''代替; 
height=100 高度; width=400 寬度; top=0 視窗距離螢幕上方的象素值; left=0 視窗距離螢幕左側的象素值; 
toolbar=no 是否顯示工具欄,yes為顯示; menubar,scrollbars 表示選單欄和滾動欄;
resizable=no 是否允許改變視窗大小,yes為允許; location=no 是否顯示位址列,yes為允許;
status=no 是否顯示狀態列內的資訊(通常是檔案已經開啟),yes為允許; 


1、從子視窗中往父視窗傳值
如父頁面有一個控制的id是choosedProvider,那麼這樣可以把值傳給父頁面:

opener.document.getElementById("choosedProvider").value="Tom";  

 
2、從父視窗傳值給子視窗,如子視窗中有id為T的控制元件,此時可以用如下傳值:

<script>  
    var newWindow;  
    function openWindow(url){  
    newWindow = window.open(“new.htm”, "", "width=400,height=300 ");  
    }  
    function changeChild(){  
    newWindow.document.getElementById("T").value="我變了";  
    }  
   </script>

先抓住其控制代碼,然後通過控制代碼操作,其實比較上面的子視窗往父視窗中傳值,就是操作的物件改變了一下。

3、子視窗關閉並重新整理父口,這裡有兩種方式:
a)子視窗關閉時關閉父視窗:

opener.location.reload();  
window.close();  

 
b)父視窗去檢測,子視窗是否已經關閉了,在設定的一段時間之後自動重新整理:

<script>  
    var newWindow;  
    var timer;  
    function openWindow(url) {  
           newWindow = window.open(url, "", "width=400,height=300,resizable=yes");  
           timer = setInterval("updateAfterClose()", 1000);  
    }  
       
    function updateAfterClose() {  
           //父視窗去檢測子視窗是否關閉,然後通過自我重新整理,而不是子視窗去重新整理父視窗  
           if(newWindow.closed == true) {  
           clearInterval(timer);  
           self.location.reload(); // 主視窗重新整理  
           return;  
           }  
    }  
</script>

 
4、父視窗關閉的時候關閉子視窗。這個就是用方法去檢測父視窗的onunload事件:

<script>  
    var newWindow;  
    function openWindow(url) {  
    newWindow = window.open(url, "", "width=400,height=300,resizable=yes");   
    }  
    function closeChild()  
    {  
    newWindow.close();  
    }  
    </script>

在body加上onunload事件:

<body onunload="closeChild()">

 
5、子視窗中關閉父視窗,這個功能可能相對要少用一點:

<script>  
function closeParent()  
{  
opener.close();  
}  
</script>  
<input type=button value="關閉父視窗" onclick=closeParent()>

相關推薦

js視窗視窗呼叫

子視窗與父視窗的呼叫  注意:要用open開啟才行,如果用openModal開啟則會訪問不到opener. 順便說下open的引數: window.open('page.html','newwind

視窗視窗之間訊息

一.子視窗控制元件向父視窗傳送訊息 a.由於子視窗控制元件都是系統內部定義的,即訊息處理回撥函式和視窗類由系統部署 b.子控制元件產生相對應控制元件的所屬事件時,(系統會處理子控制元件)並向父視窗傳送

js中子視窗視窗的互操作

    dialogHeight:對話方塊高度     dialogWidth: 對話方塊寬度。     dialogLeft: 距離桌面左的距離。     dialogTop: 離桌面上的距離。     center: 視窗是否居中,預設yes,取值範圍{yes | no | 1 | 0 }。     he

以申購單為例項,講解Jquery動態刪減行,新增行新增滑鼠事件,視窗視窗傳值,自動計算金額,及輸入值的驗證,前臺資料批量提交到後臺action

最近在為公司做一個小型ERP,其中有一個申購模組,公司需求大概:新建申購單,新建時新增要申購的物料資訊。輸入每樣物料的申購數量,預計價格,前臺自動計算總價。 設計需求大概:申購單應可以動態增減物料資訊。每條物料資訊應驗證不可重複。大概就是這些。本人剛剛畢業,參考網上資料後,

視窗視窗互動

專案中一直想實現的功能子視窗dialog為檔案選擇視窗,選擇檔案點選確認關閉後,父視窗中開啟指定檔案。 是自己建的檔案視窗,沒有用到 Qstring fileName = QFileDialog::getOpenFileName(this, tr("open file"),

Java呼叫關係學習筆記

package com_use; /* * 子類與父類呼叫關係 */ public class Demo1 { public static void main(String[] args) { B b=new B();

js建立視窗,並通過視窗操作視窗的物件

檔名:建立子視窗,並通過子視窗操作父視窗的物件.html 檔案程式碼: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.d

JS——視窗視窗傳值(radio選中的列值)

父視窗 <input type="text" class="font3" name="doctor_code" id="doctor_code"> <input type="text" class="font3" name="doctor_desc" id="doctor_d

iframe頁面頁面元素的訪問以及js變量的訪問

++ src 行修改 動態 class ria 方法 修改 左右 1、子頁面訪問父頁面元素 parent.document.getElementById(‘id‘)和document相關的方法都可以這樣用 2、父頁面訪問子頁面元素 document.

js之iframe頁面頁面通信

瀏覽器 cti data pos href 事件 java win 兩種方法 iframe子頁面與父頁面通信根據iframe中src屬性是同域鏈接還是跨域鏈接,通信方式也不同。 一、同域下父子頁面的通信 父頁面parent.html <html> <h

QT 視窗視窗之間傳輸資料

子窗體類中定義: signals: void sendMapValue(QStringList); //傳送訊號 傳遞資訊 QStringList為引數型別 父視窗中定義: private slots: void receiveMapValue(QStringList)

關於iframe視窗元素選取的問題

       在做專案的時候使用到了Iframe,可是在實現點選iframe內的元素動態改變父視窗導航欄相應條目高亮active的時候發現在iframe內Jq不能選取父容器的元素,仔細一想,確實是不應

類之間的方法過載、隱藏、重寫虛方法呼叫

由於子類物件同時“彙集了”父類和子類的所有公共方法,如果子類中某個方法與父類方法的簽名一樣(即方法名和方法引數都一樣),那當通過子類物件訪問此方法時,訪問的是子類還是父類所定義的方法? 總的來說,子類方法與父類方法之間的關係可以概括為以下三種。    擴充(Extend):

視窗擁有者視窗(Parent VS Owner)

Owner 在視窗建立時指定,以後不能更改。“一旦擁有,一直擁有”。Parent 可以再建立時指定,以後可以更改。“父親可以是繼父”。一、 視窗的Parent、Owner關係    視窗有兩種可能的上下級關係,一種是Owner,一種是parent。    建立視窗時,有WS_

QT視窗視窗上顯示

之前做測試的時候試過 忘了記錄儲存 又再找一遍 所以還是記起來吧 專案伺服器需要左邊是選單,右邊顯示不同選單介面,總不可能都放在同一個視窗中吧 於是上網找到了這種方法 1、在點選觸發某個槽函式以

[轉載]MFC視窗視窗(SetParent,SetOwner)

一、概念和區別 在windows系統中,每個視窗物件都對應有一個數據結構,形成一個list連結串列。系統的視窗管理器通過這個list來獲取視窗資訊和管理每個視窗。這個資料結構中有四個資料用來構建list,即child、sibling、parent、owner四個域。所以我們可以看到,視窗之間的關係有兩種:ow

java swing 彈出對話方塊視窗傳值例項

 /**   * Main entry of the class.   * Note: This class is only created so that you can easily preview the result at runtime.   * It is not expected to be m

iframe視窗之間資料互相獲取

iframe與父視窗之間資料互相獲取 Js/Jquery獲取iframe中的元素   在web開發中,經常會用到iframe,難免會碰到需要在父視窗中使用iframe中的元素、或者在iframe框架中使用父視窗的元素。 js 在父視窗中獲取iframe中的元素 1.

關於視窗重新整理視窗(iframe)的問題?

我的頁面分為左邊left.asp 右邊zong_list.asp點選left.asp中的一個選單 彈出一個子視窗(list_new.asp新增、修改頁面) 儲存(提交到iframe中)這些都實現了 就是想儲存後右邊的zong_list.asp 能重新整理 得到最新的新增資料&

MFC中使用GetParent獲得視窗視窗控制代碼

今天真是暈了,為了解決控制端開啟程序管理器頁面只能開啟一個介面且關閉後還可以開啟這個問題,在設計的主視窗類CBOFDlg,子視窗類CProcessManagerPageDlg,以及會話類CSession三個類之間周旋了好久,在這個類放一個變數來標記,另一個類中判斷,最後還是