默认情况下,Sencha 将只读属性添加到'Ext.field.Number'类型



在将我的应用程序从sencha 2.1.1升级到2.3.1之后,我们遇到了一个有线问题。我们有下面的代码来创建一个数字档案。

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

以下是从chrome开发工具复制的上述数字字段的生成HTML。

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

默认情况下会添加只读属性。虽然它被添加为"false",但html并不考虑它。根据html规范,如果存在只读,则无论值如何,它都会将该输入字段视为只读。

在sencha 2.1.1中,默认情况下没有添加此属性。如何在默认情况下停止添加该属性。

在您使用的框架中可能有更好的解决方案,但如果您找不到,您可以进行jQuery修复:

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

我用Sencha Touch 2.2(好的开始是try.Sencha.com)和Sencha Touch 2.3.1 测试了它

两者都不显示只读标志。

但你可以尝试设置:

config: {
    readOnly: undefined
}

您似乎没有显示数字字段中定义组件的代码。在Ext.field.Number中,您有一个配置项:

component: {type: number}

此组件获取或不获取只读标志。通常这是在updateReadOnly中的Ext.field.Text中定义的。在某个地方,您可能会覆盖该类或数字字段。

最新更新