Ext中同一父窗口中id相同的问题

Ext中同一父窗口中id相同导致的问题及其解决方法.
有时候由于某种特殊的原因会在同一个父窗口中打开相应的子窗口,而子窗口中要用到的数据往往在父窗口中也要使用,这时候使用Ext的items获得数据时就会用到对相同数据的读取问题,而在读取数据时是通过xml文件中的数据映射到相应的id来实现的,也就是说同一个id将会在父子窗口中都要用到,这将会导致在打开子窗口时出现问题,当你在不关闭父窗口连续打开子窗口时,就会使得子窗口在偶数次打开窗口时无法读取数据.而且后台和firefox均不会报错..
解决办法:在xml文档中同一个值(在父,子窗口同时要用到的数据)用两个不同的标签来定义,在页面上分别使用不同的标签以便区分开来,这样就不会导致id冲突使得数据无法正常显示了.
如相同数据为m0和m1:
xml中定义:(同一个数据取两次)
    <m0>${product.m0 }</m0>
    <m1>${product.m1 }</m1>
    <m000>${product.m0 }</m000>
    <m111>${product.m1 }</m111>
jsp页面:
父窗口:
{hideLabel:true,id:'m0', xtype:"textfield", width:32 ,clearCls:'x',itemCls:'float-left',disabled:true }
{hideLabel:true,id:'m1', xtype:"textfield", width:32 ,clearCls:'x',itemCls:'float-left',disabled:true }
子窗口:
{hideLabel:true,id:'m000', xtype:"textfield",  width:32 ,clearCls:'x',itemCls:'float-left', disabled:true }
{hideLabel:true,id:'m111', xtype:"textfield",  width:32 ,clearCls:'x',itemCls:'float-left', disabled:true }
通过以上方法就可以解决父.子窗口中id冲突了...
暂时还只找到了这一种方法,如有谁有更好的方法,还望指教...

你可能感兴趣的:(Ajax,ext,职场,软件开发,休闲)