2012-02-07 62 views
3

我有一个formPanel设置了一个文本字段。当按下按钮时,我希望它将文本字段的禁用属性从true更改为false,从而允许它可编辑。问题是我不知道如何制作这个棒子。这里是表格代码:如何动态更改Sencha文本字段的禁用属性?

myApp.views.formContainer = new Ext.form.FormPanel({ 
     id: 'inspectionForm', 
     layout: 'vbox', 
     width: '100%', 
     items: [{ 
       xtype: 'textfield', 
       name: 'myText', 
       id: 'myText', 
       label: 'License Plate', 
       width: '90%' 
      }, 
      { 
       xtype: 'button', 
       text: 'Submit', 
       height: 40, 
       ui: 'confirm-round', 
       handler: function() 
       { 
        Ext.get('myText').disabled = false; 
       } 
      }] 
}); 

关于Ext.get('mytext'),disabled = false;的事情是它的作品。稍后检查显示disabled属性设置为false。但是你仍然无法编辑它。有谁知道如何做到这一点?

回答

4

通过调用Ext.getCmp('mytext').disabled = false;您只能更改初始配置属性。要实际修改组件使用Ext.getCmp('mytext').enable();Ext.getCmp('mytext').disable();

+0

我改变了它,并得到错误“Uncaught TypeError:Object [object Object] has no method'enable'”。我错过了什么吗? – CSturgess 2012-02-07 19:09:35

+1

这将是'Ext.getCmp('myText')'。 'Ext.get()'获取DOM元素而不是Sencha组件。此外,使用'Ext.getCmp()'访问组件并不是Sencha/ExtJS中的最佳技术。看到这个scrrencast更多的细节:http://extjsinaction.com/258 – Mchl 2012-02-07 19:13:01

+0

谢谢,这工作! – CSturgess 2012-02-07 19:18:31