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

时间:2015-11-09 09:32:48

标签: javascript extjs extjs4

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

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或无穷大秒。发生了什么???

2 个答案:

答案 0 :(得分:1)

尝试:

frm.add(el);

而不是:

frm.items(add);

答案 1 :(得分:0)

服务器端可能会有一些保护(为了防范XSS

我在使用Drupal(Apache)时遇到过相同的问题,但我确信它是许多框架/服务器的通用实践。