在将我的应用程序从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中定义的。在某个地方,您可能会覆盖该类或数字字段。