Ext.form.ComboBox提交始终获得displayField的值,以前没遇到过,直到我做了一个ComboBox组合Tree时,才出现这个问题,不管我怎么设置,以及修改代码,就是一直提交的是显示的内容,而不是隐藏的那个值.
后来,在使用普通的ComboBox时,也出现这个问题,于是认真了一把,终于找到了问题的解决方法,只要在ComboBox对象里设置hiddenName属性(我把hiddenName值设成name一样的值)就可以了,嘿嘿,真是很变态.
示例代码:
var combo = new Ext.form.ComboBox({ //name:"test", //据说可以不用这属性 hiddenName:"test", fieldLabel: "测试", store: new Ext.data.SimpleStore({ // 填充的数据 fields : [ 'value', 'text'], data : [[1, '正常'], [0, '禁用']] }), valueField:"value", displayField:"text", readOnly:true, mode: "local", triggerAction:"all", emptyText:"请选择类型...", allowBlank:false, editable :true });
估计大部分人和我一样提交表单后,后台始终得不到ComboBox的值,原来hiddenName才是真是的提交表单名称,开始一直以为是name。怎么网络上那么多不负责任的人说是name呢?害我弄了很久,行库看到http://jokul-sycs.spaces.live.com/blog/cns!FBACFBA11EA0344A!122.entry的提示。谢谢啊。
var combo = new Ext.form.ComboBox({
//name:"fkid",
hiddenName:"fkid",
fieldLabel: "文件分类",
store:data,
valueField:"fkid",
displayField:"mtext",
readOnly:true,
mode: "local",
triggerAction:"all",
emptyText:"请选择类型...",
allowBlank:false,
editable :true
});
再次高喊:ext你强大了!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jzdzhiyun/archive/2008/10/04/3016147.aspx
http://topic.csdn.net/u/20090324/16/aa352d60-aa19-4458-8711-81bba7cc8d12.html