Почему checkfield отправляет на сервер «on», а не «true» | Extjs

У меня есть форма с кучей полей и контрольным полем:

            {
                xtype: 'checkboxfield',
                fieldLabel: 'Approved?',
                name: 'user[approved]',
                value: usersShowStore.getData().items[0].data.approved,
            }, 

И поэтому, если флажок установлен в параметрах запроса, утвержденное значение «включено».

Started PUT "/users/3" for 127.0.0.1 at 2016-03-03 16:33:49 +0200
Processing by UsersController#update as */*
Parameters: {"user"=>{"first_name"=>"Test", "last_name"=>"Admin", "approved"=>"on", ...}

Как изменить поведение флажка по умолчанию для отправки логических значений?


person Martin Zinovsky    schedule 03.03.2016    source источник


Ответы (1)


Это значение по умолчанию inputValue:

Значение, которое должно войти в атрибут value сгенерированного элемента ввода и должно использоваться в качестве значения параметра при отправке как части формы.

По умолчанию: «включено»

person CD..    schedule 03.03.2016
comment
В дополнение к основному логическому значению вы также можете указать отдельное inputValue. Вы захотите установить это значение, если у вас есть несколько флажков с одинаковыми именами. Если не указано, будет использоваться значение on (из документации). Даже если я изменяю value на inputValue, флажок не реагирует на исходные данные inputValue: usersShowStore.getData().items[0].data.approved и отправляет «ложь», независимо от того, установлен флажок или нет. - person Martin Zinovsky; 03.03.2016
comment
Не заменяйте value на inputValue, оставьте value и добавьте inputValue: true. - person CD..; 03.03.2016