Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 字段会动态添加到表单中,但不会提交到服务器_Javascript_Extjs_Extjs4 - Fatal编程技术网

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

Javascript 字段会动态添加到表单中,但不会提交到服务器,javascript,extjs,extjs4,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 });

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

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";
var frm=this.up('window').down('form');
对于(变量i=0;i<3;i++){
var el=Ext.create('Ext.form.field.Text'{
xtype:'textfield',
名称:'field_'+i
});
财务报表项目(新增);
}
警报(frm.getForm().getFields().length);//警报“0”;

这真的很有趣,因为我甚至在表单中看到了三个新字段——它们有唯一的ID、名称等。但是出于某种疯狂的原因,
frm.getForm().getFields()。length
给了我零,即使我将其延迟2、5或无限秒。发生了什么事?

服务器端可能会对此提供一些保护(以防止)

我在使用Drupal(Apache)时也遇到过同样的问题,但我确信这是许多框架/服务器的通用做法。

试试:

frm.add(el);
而不是:

frm.items(add);

事实上,情况并非如此,因为即使在客户端
frm.getForm().getFields().length
也等于零,无论我延迟多长时间。@Jacobian你能在JSFiddle上举个例子吗?因为你们在客户端有同样的问题,它很可能不依赖于服务器,而是依赖于客户端。看起来,我们已经解决了它!谢谢你的帮助!