我有一个禁用的文本字段,它也是readOnly,我试图在你点击某个按钮的地方得到它,它使文本字段启用而不是readOnly所以用户可以编辑它。
到目前为止,这是我的代码所用的内容:
buttonid.on({'click': function (){
if(Ext.getCmp('textfieldid').getForm().isDirty()){
Ext.getCmp('textfieldid').setDisabled(false);
}
else{
Ext.getCmp('textfieldid').setDisabled(true);
}
}});
此代码无效,我知道有更好的方法可以执行此操作。
答案 0 :(得分: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 readOnly,传递true / false
答案 1 :(得分: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);
}
}});
Here您将找到所有文本字段方法。