字段动态添加到表单但不提交到服务器

Fields are added dynamically to the form but not submitted to the server

我希望能够动态地向表单添加不同的字段,然后将它们提交到服务器。我是这样做的:

var frm = this.up('window').down('form');
for(var i = 0; i < 3; i++){
    var el = Ext.create('Ext.form.field.Text',{
                 xtype:'textfield',
                 name:'field_' + i
             });
    frm.items(add);
}
alert(frm.getForm().getFields().length); // alerts "0";

这真的很有趣,因为我什至在表单中看到了三个新字段 - 它们有自己独特的 ID、名称等。但是出于某些疯狂的原因 frm.getForm().getFields().length 给了我零,即使我推迟了这个2、5 或无限秒。怎么回事???

服务器端可能有一些保护措施(以防止XSS

我在使用 Drupal (Apache) 时遇到过同样的问题,但我确信这是许多人的通用做法 frameworks/servers。

尝试:

frm.add(el);

而不是:

frm.items(add);