ExtJS TextField值以字符串形式提交,而不是整数/数字

时间:2010-10-07 17:02:53

标签: extjs textfield

我有一个带有NumberColumn的Ext Editor Grid。列的编辑器设置为Ext.form.TextField。此网格由JSON填充,数据以JSON格式提交。

我的问题是,当用户在此列中输入数字时,它将作为字符串而不是数字发送。换句话说,它看起来像属性:“500”,我想要的是这个,属性:500

我的专栏定义:

new Ext.grid.NumberColumn ({
            header: 'Area (ha)',
            dataIndex: 'Area',
            format: '0',
            width: 60,
            editor: new Ext.form.TextField({
                allowBlank: false
            })
        })

此列的字段定义:

{ name: 'Area'}

我已经尝试了这个,但它没有做任何事情:

{ name: 'Area', type: 'int' }

有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:3)

找到了解决方案。显然有一个Ext.form.NumberField。它没有在ExtJS文档中列出,我必须搜索它。

答案 1 :(得分:1)

注意,为了从表单中实际获取类型值,getValues不合适也是有用的。

Ext.form.Basic还有一个方法getFieldValues,它会在POST'ing JSON(或其他非字符串格式)时返回您想要的值。这将返回numberfield个整数,复选框返回为布尔值等。

P.S。 getFieldValues只是getValues的封套;它使用名为useDataValues的未记录的第4个参数,其名称当然令人困惑,更不用说名称getFieldValues