父層:
jsp中:
//頁面上添加一個隱藏的輸入框待用于被子層設置value,從而將子層的數據傳遞到此頁面
<input type="hidden" id="getValue" name="getValue" value="" />
js代碼:
//設置function,當執行時,彈出子窗口并傳遞當前窗口名稱
//彈出子窗口(選擇商家) function choseMerchant() {  //獲取當前窗口名稱  var parentName= window.name;  /*(由于用的ssm框架)URL對應的是controller方法,并向其傳遞當前窗口名稱,打開的窗口顯示頁面即      為經過controller方法后返回的頁面*/  var url = root + "/adPosition/choseMerchant?parentName="+ parentName;  laySum = parent.layer.open({   //設置打開的子窗口效果   type : 2,   title : "選擇商家",   shadeClose : true,   shade : 0.5,   shift : 0,   area : [ '40%', '863px' ],   content : url,   success: function(layero, index){    }  }); }子層:
jsp中:
//頁面添加的隱藏輸入框,存儲的值是經過controller方法后返回的父窗口名稱,用于區分,將id設置為mainIframeName
<input type="hidden" id="mainIframeName" name="mainIframeName" value="${parentName}">js代碼:
//設置function,當執行時,傳值并關閉當前窗口
function setvalue() {  //得到“mainIframeName”輸入框中存儲的值  var mainIframeName = $("#mainIframeName").val();  //判斷是否為空或者是未定義  if (mainIframeName != "" && mainIframeName != "undefined")   {  //此處的ifrc和winc的意義可自行查閱  var ifrc = window.parent.frames[mainIframeName];  var winc = ifrc.window || ifrc.contentWindow;  try {   //設置父窗口隱藏輸入框的值為hello world   winc.document.getElementById("getValue").value = "hello world!";   } catch (ex) {    winc.location.reload();   }  }   //關閉當前窗口   var index = parent.layer.getFrameIndex(window.name);   parent.layer.close(index); }總結:此方法用于子層直接給父層元素賦值,從而達到傳值的效果,關鍵點在于需要將父層窗口名稱傳遞到子層中。
以上就是小編為大家帶來的layer子層給父層頁面元素賦值,以達到向父層頁面傳值的效果實例的全部內容了,希望大家喜歡哦~
如果大家想了解更多游戲活動與游戲攻略,請持續關注本站,本站小編將在第一時間為大家帶來最好看、最好玩、最新鮮的游戲資訊。更多精彩內容,盡在jb51游戲頻道!
新聞熱點
疑難解答