У меня есть форма со списком.Поле со списком загружает данные через хранилище Json, и я использую form.getForm (). Load (url: 'URL') для загрузки данных форм также из хранилища Json.
Когда данные загружаются вВ форме, которую я вижу через Firebug, что он получает правильное значение, комбо затем отображает правильное соответствующее отображаемое значение.Когда я смотрю на HTML в FireBug для hiddenField, он говорит, что значение = "DISPLAYVALUE", а не значение = "VALUE".Когда я затем выбираю любое значение из комбо, оно меняется на правильное значение = "VALUE".
Конечно, если пользователь никогда не меняет комбо, отправляется неправильное значение.Это по замыслу / ограничению или я что-то упускаю.
Действительно ли мне нужно загружать и проверять данные для каждой комбинации перед тем, как я выполню getForm (). Load ()?не имеет ли смысл для load () просто загружать полные данные, даже если это означает загрузку данных из хранилища?
Я включил упрощенный пример кода, который имеет проблему.
Ext.onReady(function(){
var frmClientRecord = {
xtype: 'form',
items: [
{
fieldLabel: 'Advisor',
xtype: 'combo',
id: 'advisorName',
displayField: 'Advisor',
valueField: 'advisorId',
hiddenName: 'advisorsId',
mode: 'remote',
store: new Ext.data.Store({
autoLoad: true,
proxy: new Ext.data.HttpProxy({
url: '/referrals/index.php/advisors/read',
method: 'POST'
}),
reader: new Ext.data.JsonReader({
root: 'results',
fields: [
{name: 'advisorId'},
{name: 'Advisor'}
]
})
})
}
]
}
frmClientRecordCmp = new Ext.FormPanel(Ext.apply(frmClientRecord));
frmClientRecordCmp.getForm().load({
url: '/referrals/index.php/clients/getbyid/100',
})
frmClientRecordCmp.render(document.body);
});
JSON FOR COMBO
({"results":[{"Advisor":"Chris","advisorId":33},{"Advisor":"Fawzia","advisorId":2},{"Advisor":"Kent","advisorId":3},{"Advisor":"Rob","advisorId":4},{"Advisor":"Stephanie","advisorId":5}]})
JSON FOR FORM
{success: true, data: {"advisorsId":33}}