ExtJs表单提交,后台需要ComboBox的valueField的值

Extjs表单提交,后台需要得到ComboBox的valueField值。

页面FormPanel中定义了一个Ext的ComboBox组件:

{  
   xtype : 'compositefield',  
   fieldLabel: '类型',  
   items : [{  
              gWidth,  
    xtype:          'combo',  
    mode:           'local',  
    triggerAction : 'all',  
    forceSelection: true,  
    editable:       false,  
    name:           'type',  
    value:          '0',  
    store:new Ext.data.JsonStore({  
    fields : ['name', 'value'],  
    data   : [  
        {name : '公民',  value: '0'},  
        {name : '企业',  value: '1'}  
    ]  
    }),  
    valueField:     'value',  
    displayField:   'name'  
   }]  
} 

提交表单后,后台request.getParameter("type")取值,跟踪所得结果,发现是displayField显示的值,实际需要的是valueField的值。

这个时候需要借助hiddenName属性来实现。

{  
   xtype : 'compositefield',  
   fieldLabel: '类型',  
   items : [{  
              gWidth,  
    xtype:          'combo',  
    mode:           'local',  
    triggerAction : 'all',  
    forceSelection: true,  
    editable:       false,  
    name:           'type',  
    value:          '0',  
    store:new Ext.data.JsonStore({  
    fields : ['name', 'value'],  
    data   : [  
        {name : '公民',  value: '0'},  
        {name : '企业',  value: '1'}  
    ]  
    }),  
    valueField:     'value',  
    displayField:   'name',  
    hiddenName:     'type'  
   }]  
} 

后台request.getParameter("type")所得值就是valueField

原文地址:https://www.cnblogs.com/guarder/p/3472035.html