我可以使用extjs将字段值作为数组提交吗?

时间:2013-05-14 09:09:15

标签: java arrays extjs

在我的表格上,我有一个textarea,需要一个单词列表。例如word1,word2,word3等。用户可以根据需要添加任意数量的单词。我的应用程序将此条目作为单个字符串“word1,word2,word3”返回,并将其转换为数组,我必须执行myString.split(“,”)。

我想知道是否可以设置表单以便extjs知道它应该在提交数据时将其转换为数组?类似的东西:

var myField = {
            xtype : 'textarea',
            fieldLabel : 'Words',
            name : 'words',
            type: 'array'
    }

编辑:我也很高兴有一些onSubmit函数在发送之前将字段的值设置为数组客户端

1 个答案:

答案 0 :(得分:0)

假设您使用extjs 4及更高版本,我建议如下:

覆盖Ext.form.field.TextArea字段并将其getModelData( )函数实现为:

getModelData: function() {
    var me = this,
    data = null;
    if (!me.disabled && !me.isFileUpload()) {
        data = {};
        data[me.getName()] = me.getValue().split(",");
    }
    return data;
}

这将允许Ext将字段的模型值正确解释为字符串数组。然后表单的模型将包含适合您的字段的数组。 您可以为基本表单调用getFieldValues()以返回相应的json以将其发送到服务器,或者您可以使用Ext MVC函数来处理表单的模型。