我在一个页面中写的
Ext.onReady(function(){
    ...................
    ...................
    getStore(ptnno,fcgeno);
    winForm.show();
});在这个页面的aspx引用了另外一个JS文件,这么定义的
Ext.onReady(function(){
    function getStore(ptnno,fcgeno){
        .............
    }    var winForm=new Ext.Window({
        .............
    })
});但是运行的时候提示getStore没有定义,还有winForm没有定义我将被引用的JS文件改为
function getFcView(ptnno,fcgeno){
    ..................
    var winForm=new Ext.Window({
        ..................
    });
    winForm.show();
}然后在另一个页面中引用
  getFcView(ptnno,fcgeno);
窗体能够显示,也很正常,但是如果getFcView显示一次后,再次显示
winForm中定义的Ext的TextField之类的控件都会重新定义一次,winForm上的TextField就会重复显示
就是本来定义了一个TextField,却显示了两个我现在是对JS之间的引用不是很了解,还请哪位抽空指点下小弟

解决方案 »

  1.   

    我的意思是一个JS文件,调用另一个JS文件的问题
    帮忙看看啊
      

  2.   

    你相当于一个页面中同时存在两个Ext.onReady()  这当中有个先后顺序的问题 你看你是不是getStore(ptnno,fcgeno)在前 后边的那个在后?
    第二个问题 你的window每次执行 都会show一下 虽然是同一个window 你要判断的 不要每次都new 修改如下:
    if(!winForm){
        var winForm=new Ext.Window({
      ..................
      });
    }
    winForm.show();
    最后 同一个页面不要出现两个相同的Ext.onReady 否则后者会覆盖前面的
      

  3.   

    第一个问题是这个问题,但是第二个问题还是不行。
    因为我每次点击都需要传进新的参数进行计算,然后显示
    还有就是我使用(!winForm)没有判断是否是第一次加载最后我还想问一下,同一个页面怎么判断不是相同的Ext.onReady
      

  4.   

    找到原因了,定义TextField时使用了id,这样每次重复定义了。不过还是谢谢4楼了