在ext Js中设置和删除readonly属性

时间:2012-07-31 12:01:06

标签: extjs readonly

在extJs中,我需要禁用一个字段,直到单击编辑按钮。

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中的禁用字段显示为灰色。

5 个答案:

答案 0 :(得分:11)

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);

答案 1 :(得分: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; 
 }

希望这有帮助。

答案 2 :(得分:0)

将字段设置为禁用:在配置中为true,然后在编辑按钮调用功能中为可重命名。

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

答案 3 :(得分:0)

设置禁用:

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

要删除停用:

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

答案 4 :(得分:0)

它有助于在运行时更改readOnly属性:

component.el.dom.readOnly = true;