Java 我可以用extjs将字段值作为数组提交吗?
在我的表单上有一个文本区,它需要一个单词列表。e、 word1、word2、word3等。用户可以随心所欲地输入任意多个单词。我的应用程序以单个字符串“word1、word2、word3”的形式返回该条目,要将其转换为数组,我必须执行myString.split(“,”) 我想知道是否可以设置表单,以便extjs在提交数据时知道应该将其转换为数组?比如:Java 我可以用extjs将字段值作为数组提交吗?,java,arrays,extjs,Java,Arrays,Extjs,在我的表单上有一个文本区,它需要一个单词列表。e、 word1、word2、word3等。用户可以随心所欲地输入任意多个单词。我的应用程序以单个字符串“word1、word2、word3”的形式返回该条目,要将其转换为数组,我必须执行myString.split(“,”) 我想知道是否可以设置表单,以便extjs在提交数据时知道应该将其转换为数组?比如: var myField = { xtype : 'textarea', fieldLabel
var myField = {
xtype : 'textarea',
fieldLabel : 'Words',
name : 'words',
type: 'array'
}
编辑:我也很乐意使用某种onSubmit函数,在发送前将字段的值设置到数组客户端假设您使用extjs 4及更高版本,我建议如下: 重写
Ext.form.field.TextArea
field,并将其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函数来处理表单的模型。在提交过程中,您认为如何将数组发送到服务器?可能将其格式化为json数组而不是字符串。e、 g.{“单词”:[“单词1”,“单词2”]}而不仅仅是{“单词”:“单词1,单词2”}。我不知道还有什么别的办法可以做到