3

我正在尝试创建一个 ExtJs 版本 4 组合框,它将发布 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"
4

2 回答 2

2

仅供参考.... Extjs 团队改进了每个元素的“配置”。
并且您combobox再也hiddenName
没有读过这个?尝试导航到第 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..
也许错误在其他地方..

于 2011-04-20T00:12:43.520 回答
0

卡住 8 小时后,我发现问题我的商店从服务器响应包含“\r”或“\n”只需删除它就可以正常工作:)

于 2013-05-30T09:30:29.757 回答