ExtJS 4.2具有相同名称的表单中的两个文本字段

时间:2016-09-29 07:34:22

标签: javascript extjs extjs4.2

我有一个表单,并且在表单中有两个文本字段具有不同的itemId但名称相同,因为当我调用getForm()。loadRecord(record)来填充表单中的文本字段时,只有一个是带有数据和另一个是空的。

var form=new Ext.form.Panel({
        itemId:'form1',
        items:[
               {
                   xtype : 'textfield',
                   fieldLabel :'textfield1',
                   name : 'value1',
                   itemId : 'textfield1',
                   readOnly:true
               },
               {
                   xtype : 'textfield',
                   fieldLabel :'textfield2',
                   name : 'value1',
                   itemId : 'textfield2'
               }
        ]
});

name属性只能在同一个表单中使用一次,以便用商店中的相同值填充两个不同的文本字段? 我在sencha的文档中搜索,但没有发现任何关于单独使用名称或唯一名称属性的信息。

2 个答案:

答案 0 :(得分:3)

是的,name属性只能在同一表单中使用一次。 您可以使用

设置第二个字段的值
Ext.ComponentQuery.query('#textfield2')[0].setValue(YourValue);

答案 1 :(得分:1)

尝试使用模型

中的'mapping'
MODEL:

  fields: [
    {name: 'value1',  type: 'string'},
    {name: 'valueSameAs1',  type: 'string', mapping: 'value1'}
  ]


VIEW:

 var form=new Ext.form.Panel({
    itemId:'form1',
    items:[
           {
               xtype : 'textfield',
               fieldLabel :'textfield1',
               name : 'value1',
               itemId : 'textfield1',
               readOnly:true
           },
           {
               xtype : 'textfield',
               fieldLabel :'textfield2',
               name : 'valueSameAs1',
               itemId : 'textfield2'
           }
    ]
 });

看看:

http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.data.Field-cfg-mapping

http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.data.Field-cfg-convert