miniui在點擊不同的樹節點時,通過父頁面全局變量存儲編輯頁面未提交數據,在重新點擊編輯頁面時反顯該數據

 

今天做項目時,有這麼一個要求,如上圖所示,這個是miniui的tree頁面,該頁面上一共有三個使用iframe嵌在一起的功能頁面,當我點擊不同的頁面時,父頁面唯一的一個iframe的src便指向哪個頁面的地址,假設我在產品登記表單頁面中編輯了一些內容,但是我沒有進行提交,這是我再去點擊同業授信信息或者企業授信臺賬信息時,之後再回到產品登記表單頁面就會出現之前編輯的一些內容全部沒有了,整個登記頁面的內容已經被初始化了。那麼解決這個問題的思路就是在你去點擊其他頁面時,你需要將當前頁面編輯的數據保存到一個全局變量中,比如session,或者父頁面的全局變量中等。我這裏解決的辦法是將數據存儲在父頁面的一個全局變量中,之後在回到登記表單頁面時,我將數據取出來重新放進登記表單頁面。

父頁面選擇節點的方法加上這段代碼

 function onNodeSelect(e) {
        	
        	
            	//存放數據,將data定義存放全局變量
            	if(iframe.id=="mainframe" || iframe.id=="303"){
            		//如果iframe.id=mainframe或者是303,則表明它是從編輯頁面離開的
            		data= iframe.contentWindow.GetData();//取出數據
        			data = mini.clone(data); //這個方法必須要,不然ie8沒法通過,話說ie8是真的坑
        			//獲取數據
        	
        			        
              
           params.dataAssetsDefine=mini.clone(iframe.contentWindow.GetDataAssetDefine());
            	}
            	if(node.id=="mainframe" || node.id=="303"){
            		//如果node.id=mainframe或者是303,則表明它要進編輯頁面中
                		node.url=('xxx.jsp?operType='+isMainTradeOperType+'&row='+JSON.stringify(data));//通過將數據格式化成字符串放進url中
            		
            	}
            	iframe.src = node.url;//設置iframe的src
           		iframe.id=node.id;//設置iframe的id
            
        }

子頁面中需要自己定義GetDataAssetDefine()方法,這個方法主要是獲取當前頁面的表單內容,之後在下一個判斷將數據嵌入進url就好了,因爲比較忙,這裏就當記了個筆記吧

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章