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 yourTextField = Ext.getCmp('textfieldid');
        if(yourTextField.getForm().isDirty()){
            yourTextField.enable();
            yourTextField.setReadOnly(false);
        }
        else{
            yourTextField.disable();
            yourTextField.setReadOnly(true);
        }
    }});

在这里,您将找到所有文本字段方法。

于 2013-09-11T06:03:51.600 回答
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) - 是否设置 textfield 只读,传 true/false

于 2013-09-11T05:52:04.693 回答