2012-02-07 8 views
3

フォームパネルにテキストフィールドを設定しました。ボタンを押すと、テキストフィールドのdisabledプロパティを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 [オブジェクトオブジェクト]にはメソッド 'enable'がありません。何か不足していますか? – CSturgess

+1

'Ext.getCmp( 'myText')'になります。 'Ext.get()'はSenchaコンポーネントではないDOM要素を取得します。また、 'Ext.getCmp()'を使ってコンポーネントにアクセスすることは、Sencha/ExtJSでは最適な手法ではありません。詳細については、このscrrencastを参照してください:http://extjsinaction.com/258 – Mchl

+0

ありがとうございました! – CSturgess

関連する問題