В ExtJs 4 Combobox отсутствует опция конфигурации hiddenName - PullRequest
3 голосов
/ 19 апреля 2011

Я пытаюсь создать ComboBox ExtJs версии 4, который будет публиковать значение ValueField, а не displayValue. В предыдущей версии было бы установить параметр «hiddenName» в конфигурации ComboBox, но я не могу найти его в 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"

Ответы [ 2 ]

2 голосов
/ 20 апреля 2011

просто для информации .... Команда 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 ..
возможно ошибка в другом месте ..

0 голосов
/ 30 мая 2013

После 8 часов я обнаружил проблему, мой магазин ответ от сервера содержит "\ r" или "\ n" Просто удалите его, он будет работать нормально:)

...