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

时间:2014-09-29 10:58:40

标签: javascript sencha-touch sencha-touch-2

将我的应用程序从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">

默认情况下会添加只读属性。虽然它被添加为&#39; false&#39;但是html没有考虑它。根据HTML规范,如果存在readonly,则认为输入字段是只读的,与值无关。

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我使用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中定义的。在某个地方,您可能会覆盖该类或Numberfield。