[JS] 視窗傳值

by Mesak

為了修改 Blog 做準備,先研究如何在兩個視窗間傳值

首先說明一下 子傳母視窗 用的語法是 opener 傳回

如果需要母傳子視窗,需要用另一種方法

先說明一下母視窗的script

<script language="JavaScript">
function child_open()
{
  cwin = window.open("child.htm");
}
function child_change(){
  if (!cwin.document.forms["child_form"].name){
    window.setTimeout('child_change()',500)
  }else{
    cwin.document.forms["child_form"].child_text.value = "i am child";
  }
}
</script>

首先用body onload 直接 呼叫child_open()函式,把子視窗給叫出來

並且把 cwin 代入物件,以便後面修改子視窗需要

接著如果執行child_change() 這個函數,則判斷 cwin 這個物件有沒有完全載入子視窗的物件

如果沒有就接續執行直到載入,如果有載入,就使用 cwin.object ,直接修改子視窗的物件

接著是子視窗的寫法

<script language="JavaScript">
function monther_change() {
  opener.document.forms["mon_form"].mon_text.value = "i am monther";
}
</script>

這個很簡單 直接 用 opener 讓呼叫此視窗 的母視窗,進行物件的修改(傳值)

當然兩個都要有相對應的物件

下載附件檔執行 monther.htm

javascript_pass_value_window

參考資料:

You may also like