2014-09-29 40 views
0

將我的應用程序從sencha 2.1.1升級到2.3.1之後,我們遇到了一個有線問題。我們有下面的代碼來創建一個數字字段。Sencha默認添加只讀屬性到'Ext.field.Number'類型

Ext.create('Ext.field.Number', { 
       cls: 'timee_1', 
       inputCls: 'listitemtitle', 
       name: 'itemValue', 
       labelWidth:'0', 
       minValue: 0, 
       clearIcon: false 

    }) 

這裏產生由鉻開發人員工具複製上述數目字段的HTML。

<input class="listitemtitle" type="number" id="ext-element-780" name="itemValue" 
min="0" readonly="false"> 

readonly atribute默認情況下會添加。雖然它被添加爲'false',但html沒有考慮它。根據HTML規範,如果只存在readonly,它會將輸入字段視爲只讀而與值無關。

該屬性在sencha 2.1.1中默認沒有添加。如何在默認情況下停止添加該屬性。

+0

你有沒有通過在你的數字字段中明確地添加{readOnly:Boolean} config? – 2014-09-30 12:20:36

回答

0

有可能是你使用的框架更好的解決方案,但如果你沒有找到它,你可以做一個jQuery的解決辦法:

$(document).ready(function() { 
    $("input").removeAttr("readonly"); 
}); 
+0

我想要將其刪除...但我正在尋找更好的解決方案...要停止添加..而不是刪除它。 – Kvk 2014-09-29 11:06:03

+0

是的,如果你可以在手之前抓住它,這絕對是一個更好的解決方案。由於此解決方案會增加初始頁面加載的開銷。 – 2014-09-29 11:06:59

0

我用煎茶觸摸2.2測試它既(良好的開端是try.sencha.com)和Sencha Touch 2.3.1

兩者都不顯示只讀標誌。

但是你可以嘗試設置:

config: { 
    readOnly: undefined 
} 

看來你是不顯示在您的numberfield的組件定義的代碼。 裏面Ext.field.Number你有一個配置項:

component: {type: number} 

此組件獲取或不獲取標記爲只讀。通常這是在updateReadOnly中的Ext.field.Text中定義的。某處您可能會覆蓋該類或數字字段。