Как отправить два значения, созданные с помощью ExtJS ComboBox - PullRequest
0 голосов
/ 02 октября 2018

У меня есть следующий комбинированный список extjs, созданный для того, чтобы пользователь мог изменить элемент посредством вызова APIУ меня есть определенный TPL для отображения значений в формате, который прекрасно работает, когда список выбора заполняется.У меня есть displayField, показывающий, когда пользователь выбирает элемент из списка, что тоже замечательно.Проблема в том, что когда пользователь выбирает и элемент и отправляет, мне нужно извлечь 2 значения из этого выбора.Одно значение - это gmiExchangeCode, а другое - gmiFuturesCode.Мне нужно иметь возможность получить оба эти значения, когда пользователь отправляет.Код ниже только отправляет gmiDescription

}, {
        xtype: 'combo',
        autoLoad: true,
        hideTrigger: true,
        fieldLabel: 'Product',
        displayField: 'gmiDescription',
        hiddenName: 'gmiExchangeCode',
        valuefield: 'gmiExchangeCode',
        forceSelection: true,
        submitValue: true,
        name: 'exchange',
        queryMode: 'remote',
        queryParam: 'entry',
        typeAhead: true,
        minChar: 2,
        tpl: new Ext.XTemplate('*****'),
        store: {
            fields: ['text', 'value'],
            proxy: {
                type: 'ajax',
                url: '*****',
                reader: {
                    type: 'json'
                }
            },
            sorters: [{
                property: 'exchange',
                direction: 'ASC'
            }]
        },
        listeners: {
            select: function (combo, record, index) {
                exchangeCode.setValue(record.get('exchangeCode'));
            }
        }
    }, {

1 Ответ

0 голосов
/ 02 октября 2018

По умолчанию отправка формы отправляет все элементы формы значения * только 1002 * (без дополнительного поля).

Чтобы отправить второе значение, вы можете создать скрытое поле формы и установить его (см. Sencha ExtJS. Отправьте два значения ), и таким образом это скрытое поле также будет отправлено

Другой способ обойти это - передать некоторые дополнительные параметры в действие отправки (если оно вызывается вручную), от https://docs.sencha.com/extjs/6.5.1/classic/Ext.form.action.Submit.html#cfg-params

Дополнительные значения параметров для передачи.Они добавляются в Ext.form.Basic # baseParams формы и передаются по указанному URL-адресу вместе с полями ввода формы.

form.getForm().submit({
    url: 'panel.php',
    params: {
       data: Ext.encode(json)
    },
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...