2012-07-31 49 views
3

在extJs中,我需要禁用一个字段,直到单击编辑按钮。在ext中设置和删除只读属性Js

xtype:'textfield', 
fieldLabel: 'Address', 
name:'streetAddress', 
labelWidth: 48,       
maxLength: 100,       
cls: 'appAddresscls', 
id: 'resume-applicantdetails-view-address', 
allowBlank : false, 
//readOnly:true, 
skipValue:true 

当装载我叫

Ext.getCmp('resume-applicantdetails-view-address').getEl().dom.setAttribute('readOnly', true); 

当编辑

Ext.getCmp('resume-applicantdetails-view-address').getEl().dom.removeAttribute('readOnly'); 

但现场始终处于编辑模式。其实我试试这个,因为IE中的禁用字段显示为灰色。

回答

10
xtype:'textfield', 
fieldLabel: 'Address', 
name:'streetAddress', 
labelWidth: 48,       
maxLength: 100,       
cls: 'appAddresscls', 
id: 'resume-applicantdetails-view-address', 
allowBlank : false, 
readOnly:false, 
skipValue:true 

当装载我叫

Ext.getCmp('resume-applicantdetails-view-address').setReadOnly(true); 

当编辑

Ext.getCmp('resume-applicantdetails-view-address').setReadOnly(false); 
0

设置要禁用的字段:在config中为true,然后在编辑按钮调用函数中为renable。

Ext.getCmp('resume-applicantdetails-view-address').setDisabled(false); 
+0

禁用时,它会回头灰色。 – 1355 2012-07-31 12:58:03

+2

你是说你不希望字段变灰?如果没有,则使用fieldClass:config选项应用样式来更改此 – gunnx 2012-07-31 13:41:38

1

你可以保持禁用:真实,添加以下的CSS在网页制作等领域出现正常的人:

.x-item-disabled .x-form-item-label, 
.x-item-disabled .x-form-cb-label { 
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90); 
    opacity: 0.9; 
} 

希望这有助于。

0

要设置禁止:

Ext.get('resume-applicantdetails-view-address').set({disabled:'disabled'}); 

于R EMOVE禁用:

Ext.get('resume-applicantdetails-view-address').set({disabled:''}); 
0

它有助于改变运行时只读属性:

component.el.dom.readOnly = true; 
+0

它有助于在运行时更改只读属性。 – 2017-08-13 06:06:10