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就好了,因为比较忙,这里就当记了个笔记吧

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值