1. 程式人生 > >layer---彈出多個iframe如何找到父頁面方法

layer---彈出多個iframe如何找到父頁面方法

父親頁面--

              
                function aa(){  
                  var index = parent.layer.getFrameIndex(window.name);
	          var iframeName = 'layui-layer-iframe'+index;
	          openDialog1('選擇XXX', '${ctx}/*****,'800px', '500px',iframeName);	
                  }
function openDialog1(title,url,width,height,target){
		top.layer.open({
		    type: 2,  
		    area: [width, height],
		    title: title,
	        maxmin: true, //開啟最大化最小化按鈕
		    content: url ,
		    btn: ['確定', '關閉'],
		    yes: function(index, layero){
		    	 var body = top.layer.getChildFrame('body', index);
		         var iframeWin = layero.find('iframe')[0]; //得到iframe頁的視窗物件,執行iframe頁的方法:iframeWin.method();
		         var inputForm = body.find('#inputForm');
		         var top_iframe;
		         if(target){
		        	 top_iframe = target;//如果指定了iframe,則在改frame中跳轉
		         }else{
		        	 top_iframe = top.getActiveTab().attr("name");//獲取當前active的tab的iframe 
		         }
		         inputForm.attr("target",top_iframe);//表單提交成功後,從伺服器返回的url在當前tab中展示
		         
		         if(iframeWin.contentWindow.doSubmit(top_iframe) ){
		        	 top.layer.close(index);//關閉對話方塊。
			      top.window[iframeName].frames.location.reload();//重新整理父親
		             }
				
			  },
			  cancel: function(index){ 
		       }
		}); 	
		
	}
//子頁面回撥方法	
         function addRecord(name,chainName){
		alert(name);
	}子頁面          
         function doSubmit(iframeName) {
		var sel=$("tbody tr td input.i-checks:checked");
		var size = sel.size();
		if(size==0){
			top.layer.alert('請至少選擇一條資料!', {icon: 0, title:'警告'});
			return false;
		}else{
			for(var i=0;i<size;i++){
				top.window[iframeName].addRecord(sel[i].name,sel[i].value);
			}
			return true;
		}
	}