3

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

4

5 回答 5

12
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);
于 2012-08-01T06:51:26.950 回答
2

您可以保持 disabled:true 并在您的页面中添加以下 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; 
 }

希望这可以帮助。

于 2012-07-31T15:05:04.110 回答
0

设置禁用:

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

要删除禁用:

Ext.get('resume-applicantdetails-view-address').set({disabled:''});
于 2013-10-25T14:48:00.303 回答
0

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

Ext.getCmp('resume-applicantdetails-view-address').setDisabled(false);
于 2012-07-31T12:27:46.637 回答
0

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

component.el.dom.readOnly = true; 
于 2017-08-13T06:05:06.763 回答