父頁面與子頁面之間調用時經過JS傳值

父頁面與子頁面之間調用時經過JS傳值

之因此查找的這篇文章 是由於本身當時的思路是走不通的。。。
html

page1 裏面 有一個button
數據庫

<input type="button"  class="button" onclick="doMassRejection()" name="MassRejection">框架

在原來邏輯裏面 MassRejection 是要去更新數據庫的,而且參數比較多。測試

click button 後須要彈出來一個新頁面page2url

 這個頁面只有一個參數 只有當這個頁面點擊OK button時 才能夠把參數存入數據庫 而且再執行MassRejection 裏面的邏輯。spa


想法1: 把 page1 MassRejection action後的 formBean 傳到page2 ,在page2 裏面點OK 時 再把這formBean 繼續傳到後臺再執行ssr

可是由於formBean 字段不是隻有string int 類型的 ,還有list collection 之類的 無法同步在下一個action裏面的orm

因此想法1   就這麼over了 xml

下面看 想法2 (同事給的方法,也Google了 。。)htm



在一個頁面的JS方法裏調用另一個頁面,以後將新頁面獲得的值傳回調用頁面的問題,採用如下方式實現,具體實現:

父頁面a.html:

<script>

 

     function  getLink(){

 

      window.open("b.html","newindow","width=100,height=200,toolbar=no,scrollbars=no");

}

 

function  getNewLinkValue(value){


  alert(value);//能夠獲得子頁面設的值

//這個是已經能獲得page2 的屬性值了  ,這時候須要把數據放在formBean裏面  方便傳入action 

// document.massreject.rejectReason.value=value;

而後把以前MassRejection 的邏輯寫在這裏面

}

</script>

<input  type="button"  value="測試子頁面調用"  onclick="getLink();"/>

子頁面b.html:

<script>

 var wholeValue;

     function  setNewLinkValue(){

        //以前有一個JS方法構造了wholeValue的值

        window.opener.getNewLinkValue(wholeValue);//設置傳遞給父頁面的值

 

      }

</script>

小結:

window.open(url, name, features, replace) ;實現打開一個新窗口

其中:url指的是指向要在新窗口中顯示的文檔的URL;name該參數用於設置新窗口的名稱,可是相同name的窗口只能建立一個,要想建立多個窗口則name不能相同;features用於設置新窗口的設置(如:顯示寬高等信息);replace 指可選布爾參數,設置新窗口中的操做歷史的保存方式,其中true 指建立新歷史記錄,false指替換舊的歷史記錄。
而window.opener只是對彈出窗口的母窗口的一個引用,指調用window.open方法的窗口;能夠利用window.opener.location.reload();實現刷新父頁面的功能;

在此也瞭解了window.opener與window.parent的區別:

window.parent能獲取一個框架的父窗口或父框架。頂層窗口的parent引用的是它自己。(一般在使用ifream調用或者location.href調用時可使用此)

window.opener引用的是window.open打開的頁面的父頁面,當一個窗口用open方法打開了一個新窗口的時候,opener屬性就生效;



在咱們項目裏面 url 和action都是配置在配置文件xml裏面的 

var newWindow;

newWindow=window.open("<%=SystemConstant.URL_PREFIX%>/com.ebao.jewel.gs.pol.prdt.master.ctrl.MassRejectionAction?<url:requestTokenParam/>&sActionType="+sActionType);    

newWindow.focus();

我打開窗口是用的這種方法。。

相關文章
相關標籤/搜索