Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.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 ExtJS4:单击按钮向表单添加动态字段_Javascript_Extjs4_Formpanel - Fatal编程技术网

Javascript ExtJS4:单击按钮向表单添加动态字段

Javascript ExtJS4:单击按钮向表单添加动态字段,javascript,extjs4,formpanel,Javascript,Extjs4,Formpanel,我有一个包含项目的表单和按钮“添加”以将字段动态添加到表单中(复制第一个字段)。 链接到按钮的功能是什么 这是我的密码: var form new Ext.form.FormPanel({ items : [{ xtype: 'fieldcontainer', combineErrors: true, msgTarget : 'side',

我有一个包含项目的表单和按钮“添加”以将字段动态添加到表单中(复制第一个字段)。 链接到按钮的功能是什么 这是我的密码:

     var form new Ext.form.FormPanel({
            items           : [{
                xtype: 'fieldcontainer',
                combineErrors: true,
                msgTarget : 'side',
                layout: 'hbox',
                items: [{
                    xtype       : 'displayfield',
                    margin      : '0 10 0 0'
                },{
                    xtype       : 'button',
                    text        : 'select'
                }]
            }]
            ,buttons: [{
              text    : 'Add field'
            }]
        })

我认为您应该在按钮上定义click函数(或者为按钮提供一个itemId,并在controller中定义一个函数,在这里您可以访问表单对象项数组并向表单添加一个动态“fieldcontainer”对象。请参阅下面的代码段:

鉴于:

,buttons: [{
          text    : 'Add field',
          itemId : 'addField'
        }
在控制器中:

refs : [{
    selector : 'viewport form',
    ref : 'myForm'
},
init : function(){
    this.control({
        '#addField':{
            click : this.addFieldContainer
        }
        });

},

addFieldContainer: function(){
var form = this.getMyForm();
form.items.push({
            xtype: 'fieldcontainer',
            combineErrors: true,
            msgTarget : 'side',
            layout: 'hbox',
            items: [{
                xtype       : 'displayfield',
                margin      : '0 10 0 0'
            },{
                xtype       : 'button',
                text        : 'select'
            }]
        });

}
希望这有帮助