2012-02-07 139 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