2012-11-27 65 views
1

下午好!从extjs版本4.0.7升级到4.1.1的问题

我试图从版本4.0.7升级到4.1.1(作为免费的45天试用版下载),以便在我们目前运行的应用程序中测试版本4.1并查看可能会发生多少变化需要在正式升级之前做的,我做的唯一步骤指着我的JSP文件复制到新的文件在页面的头如下:

<link rel="stylesheet" href="3rdParty/ext-4.1.1a/resources/css/ext-all.css"/> 

<script type="text/javascript" charset="utf-8" src="3rdParty/ext-4.1.1a/ext-all-debug.js"></script> 

而在我的jsp页面,我做的事情很简单,只是创建一个按钮,我用这个代码:

<body> 
      <script type="text/javascript"> 

       Ext.create('Ext.Button', { 
        text: 'Test window', 
        width: 75, 
        renderTo: Ext.getBody(), 
        handler: function() { 
         alert("the button worked""); 
        } 
       }); 
    </script> 
    </body> 

但没有什么是当我调试的代码无法调用“createChild所”的未定义

:ING显示当我运行这个页面,当我使用谷歌浏览器的开发工具,控制台显示此消息:

遗漏的类型错误,显示在文件EXT-ALL-debug.js错误:20687

getStyleProxy: function(cls) { 
     var result = this.styleProxyEl || (Ext.AbstractComponent.prototype.styleProxyEl = Ext.resetElement.createChild({ 


       style: { 
        position: 'absolute', 
        top: '-10000px' 
       } 
      }, null, true)); 


     result.className = cls; 
     return result; 
    }, 

哪一步是我失踪?我在ExtJS的很新而且据我了解,从4.0.7版本升级到4.1.1不应该涉及许多不同的步骤来编写代码的不同方式,有人可以帮我吗?

非常感谢提前!

+1

一个镜头在黑暗中 - 你试图把'Ext.onReady内的分机代码(函数(){});'? – Izhaki

+1

Izhaki是正确的,你的代码在完整dom被加载/准备好之前运行,并且主体尚不存在。把你的代码放在onReady的回调函数中。 –

+1

你也有一个额外的报价在你的警报() – dbrin

回答

2

尽量把你的代码的onReady块中:

<body> 
<script type="text/javascript"> 

    Ext.onReady(function() {    
     Ext.create('Ext.Button', { 
      text: 'Test window', 
      width: 75, 
      renderTo: Ext.getBody(), 
      handler: function() { 
       alert("the button worked"); 
      } 
     }); 
    }); 

</script> 
</body>