在ComboBox中设置了name属性,提交后,后台request对象取到的只是选中的text值,而非真正的value值。
分析:Ext中的ComboBox组件并不是从原生的select继承来的,而是用div重新写一个,所以当给ComboBox设name属性时,这个属性只是赋给其中用于显示的text的。
解决方法:ComboBox中还有一个配置项是hiddenName,设置了这个属性后,就可以在后台request通过这个属性来取得当前选中的value值了。
例子:
分析:Ext中的ComboBox组件并不是从原生的select继承来的,而是用div重新写一个,所以当给ComboBox设name属性时,这个属性只是赋给其中用于显示的text的。
解决方法:ComboBox中还有一个配置项是hiddenName,设置了这个属性后,就可以在后台request通过这个属性来取得当前选中的value值了。
例子:
app.form.db_source = new Ext.form.ComboBox({
fieldLabel : '数据库',
//配置了这个,后台就可以通过request.getParameter("db_source")来取得当前选中的value值了
hiddenName : 'db_source',
emptyText : '请选择业务数据库',
blankText : '请选择一个业务数据库',
mode:'remote',
width : 135,
store : app.form.databaseStore,
triggerAction : 'all',
valueField : 'value',
displayField : 'text',
allowBlank : false,
readOnly : true
});