2012-07-31 81 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