ExtJs 4 Combobox缺少配置选项hiddenName。

3

我正在尝试创建一个ExtJs版本4的ComboBox,它将发布valueField而不是displayValue。 在以前的版本中,可以在ComboBox的配置中设置“hiddenName”选项,但我似乎在v 4中找不到它或类似的选项。 另外,这不是在ExtJs表单面板中。 ComboBox正在纯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"

我认为问题在于“组合框被渲染在普通的HTML表单内”。在Extjs中,组合框与纯HTML中的<select>标签不同。 - Egy Mohammad Erdin
2个回答

2

仅供参考...Extjs团队已经改进了每个元素的"configs"。
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。也许错误出现在其他地方...

0

在卡了8个小时之后,我发现我的商店从服务器响应的内容中包含“\r”或“\n”。 只需将其删除,它就可以正常工作:)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接