我正在尝试创建一个ExtJs版本4 ComboBox,它将发布valueField而不是displayValue。以前的版本是在ComboBox的配置中设置'hiddenName'选项,但我似乎无法在v 4或类似的东西中找到它。此外,这不是在ExtJs表单面板中。组合框是以简单的html格式呈现的
//My Code
new Ext.form.ComboBox({
renderTo: 'my_div',
store: new Ext.data.SimpleStore({
fields: ['value', 'name'],
data: [['1', 'A'], ['2', 'B'], ['3', 'C']]
}),
name: 'letter',
hiddenName: 'letter_id',
hiddenValue : '0',
displayField: 'name',
valueField: 'value',
mode: 'local'
});
// The value of the form POST when I selected 'A'
"letter=A"
// This is what I want
"letter=1"
答案 0 :(得分:2)
仅供参考.... Extjs团队改进了每个元素的“配置”
在combobox
中,不再有hiddenName
你读过this吗?尝试导航到第52页,两者都会产生类似的结果......
var itemForm = Ext.create('Ext.form.FormPanel',{
title: 'Simple Form',
renderTo :Ext.getBody(),
url :'test.php',
items:[
new Ext.form.ComboBox({
store: new Ext.data.SimpleStore({
fields: ['value', 'name'],
data: [['1', 'A'], ['2', 'B'], ['3', 'C']]
}),
name: 'letter',
displayField: 'name',
valueField: 'value',
})]
});
当我运行此itemForm.getForm().submit()
时,它会发送letter = 1
..
也许这个错误在其他地方..
答案 1 :(得分:0)
卡住8小时后我发现问题我的服务器响应服务器包含“\ r \ n”或“\ n” 只需删除它就可以正常工作:)