0

私は無効なテキストフィールドを持っており、それも読み取り専用であり、特定のボタンをクリックした場所でそれを取得しようとしています。これにより、テキストフィールドが読み取り専用ではなく有効になり、ユーザーが編集できるようになります。

これは、これまでのコードにあるものです。

buttonid.on({'click': function (){
        if(Ext.getCmp('textfieldid').getForm().isDirty()){
            Ext.getCmp('textfieldid').setDisabled(false);
        }
        else{
            Ext.getCmp('textfieldid').setDisabled(true);
        }
    }});

このコードは機能していません。これを行うためのより良い方法があることはわかっています。

4

2 に答える 2

0

次のコードを使用できます。

buttonid.on('click', function (){
    var textF = Ext.getCmp('textfieldid');
    if(Ext.getCmp('textfieldid').isDirty()) {
        textF.enable(); // enable textfield
        textF.setReadOnly(false); // can edit field
    }
    else{
        textF.disable();   // disable textfield
        textF.setReadOnly(true);   // read only is true, so can not edit
        // Any way, you do not need to set field readOnly if you disable it, cause user will not be able to modify it.
    }
});

上記のコードで使用されているメソッドへの参照は次のとおりです。

textfield.enable() - テキストフィールドを有効にします

textfield.disable() - テキストフィールドを無効にします

textfield.setReadOnly(readOnly) - テキストフィールドを readOnly に設定するかどうか、true/false を渡します

于 2013-09-11T05:52:04.693 に答える