ExtJS - 创建相同表单但具有不同字段名称的多个实例

时间:2014-11-16 18:39:16

标签: javascript forms extjs

我有一个Ext.form.Panel。在表单项中,我有一个包含所有表单字段的容器。单击添加按钮,我将该容器的另一行/实例插入到表单中。如何在创建新实例时更改字段名称?例如,字段名称为FIELD_1。创建新实例时,id将其更改为FIELD_2,然后将FIELD_3更改为..

因为在提交时,当我这样做时.getForm()。getValues();这将按字段名称返回数组中所有实例的所有表单值:

"FIELD_1":["Row1Val", "Row2Val", "Row3Val"], "FIELD_2":["Row1Val", "Row2Val", "Row3Val"]

我不想要这个。这就是为什么我需要在创建新实例时为字段名称添加后缀

感谢

1 个答案:

答案 0 :(得分:0)

这很简单。你可以保留一个全球计数器来管理它,当你点击添加按钮时,你会不断增加。

var number_of_row = 0;//you may choose to keep it global or of controller scope

function : addContainer(self){
     var data = Ext.create('Ext.container.Container', {
    layout: {
        type: 'hbox'
    },
    width: 400,
    },
    items: [{
        xtype: 'textfield',
        name: 'FIELD_'+(++number_of_row),
        id: 'FIELD_'+(++number_of_row)
    },
      //your other items
    ]
});
//your code to add this container to the form panel.
}