26.08.2015, 18:34
|
Новичок на форуме
|
|
Регистрация: 26.08.2015
Сообщений: 6
|
|
Ext.data.JsonStore как store в форме
Добрый день,есть следующий код:
{
xtype: 'combo',
fieldLabel: 'Отдел',
name : 'otdel',
store: new Ext.create('Ext.data.JsonStore', {
proxy: {
type: 'ajax',
url: 'php/otdel.php',
reader: {
type: 'json',
root: 'contatos',
successProperty: 'success',
}
},
idIndex: 0,
autoload: true,
fields: [
{name: 'id'},
{name: 'otdel'}
]
}),
triggerAction: 'all',
displayField: 'otdel',
valueField: 'id'
}
Есть проблема,что когда я открываю форму,и изменяю другие данные,то в базу от этого поля пытается записатся его имя а не его id,а в БД данный столбец integer...
В общем как сделать что бы он сбрасывался всегда на id,даже если ты не изменяешь данное поля?
|
|
27.08.2015, 13:41
|
|
Соединяю Node.js и Ext JS
|
|
Регистрация: 25.06.2009
Сообщений: 1,033
|
|
Если честно не очень понятно в чем проблема. Написано очень сумбурно. Лучше будет, если вы приведете код в песочнице, чтобы там можно разобраться.
Цитата:
|
в базу от этого поля пытается записатся его имя
|
Записью в базу занимается сервер, а не клиент. Поэтому неплохо было бы пояснить что за проблема на клиенте, при условии что на самом сервере проблем нет.
Цитата:
|
изменяю другие данные
|
Что такое 'другие данные'?
Цитата:
|
сбрасывался всегда на id
|
И тут поясните, что вы подразумевали под 'сбрасывался'.
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
|
|
27.08.2015, 17:54
|
Новичок на форуме
|
|
Регистрация: 26.08.2015
Сообщений: 6
|
|
Смотри:
Есть таблица:
Добавляю отдел:
В итоге такой запрос:
И получаю:
Что отдел есть,а должности нету.
А если должность выбрать заного,то получу то что нужно,в запросе вместо имени "тестовая должность" будет 1
|
|
28.08.2015, 11:25
|
Новичок на форуме
|
|
Регистрация: 26.08.2015
Сообщений: 6
|
|
Есть мысли?
|
|
28.08.2015, 13:18
|
|
Соединяю Node.js и Ext JS
|
|
Регистрация: 25.06.2009
Сообщений: 1,033
|
|
Какая версия Ext (не ясно откуда взялась опция idIndex: 0, но в пятой версии такой опции нет)?
Также приведите полный код, формирующий форму.
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
|
|
28.08.2015, 13:53
|
Профессор
|
|
Регистрация: 19.11.2012
Сообщений: 178
|
|
отдел и должность являются связанными списками? Значение должности выбирается из списка вручную?
|
|
28.08.2015, 14:17
|
Новичок на форуме
|
|
Регистрация: 26.08.2015
Сообщений: 6
|
|
Ext 4 версии
Списки не связаны.
Из списка который по пост забросу берется,выбирает вручную при добавлении,но после сохранения,вновь зайдя в редактирования и изменении любогог другого поля,вместе id отдела или должности посылается имя,но в БД не придёт,т.к. поля int.
А вот если при редактировании выбрать заново отдел или должность,то придёт id.
Последний раз редактировалось smilexcasper, 28.08.2015 в 14:21.
|
|
28.08.2015, 14:20
|
Новичок на форуме
|
|
Регистрация: 26.08.2015
Сообщений: 6
|
|
initComponent: function() {
this.items = [
{
xtype: 'form',
padding: '5 5 0 5',
border: false,
style: 'background-color: #fff;',
fieldDefaults: {
anchor: '100%',
labelAlign: 'left',
allowBlank: false,
combineErrors: true,
msgTarget: 'side'
},
items: {
xtype:'tabpanel',
activeTab: 0,
defaults:{
bodyPadding: 10,
layout: 'anchor'
},
items:[{
title:'Общая информация',
defaultType: 'textfield',
defaults: {
anchor: '100%'
},
items: [
{
xtype: 'textfield',
name : 'id',
fieldLabel: 'id',
hidden:true
},
{
...
},
{
xtype: 'combo',
fieldLabel: 'Отдел',
name : 'otdel',
store: Ext.create('Ext.data.JsonStore', {
proxy: {
type: 'ajax',
url: 'php/otdel.php',
reader: {
type: 'json',
root: 'contatos',
successProperty: 'success',
}
},
idIndex: 0,
autoload: true,
fields: [
{name: 'id'},
{name: 'otdel'}
]
}),
triggerAction: 'all',
displayField: 'otdel',
valueField: 'id',
},
{
xtype: 'combo',
fieldLabel: 'Должность',
name : 'rol',
store: new Ext.create('Ext.data.JsonStore', {
proxy: {
type: 'ajax',
url: 'php/rol.php',
reader: {
type: 'json',
root: 'contatos',
successProperty: 'success',
totalProperty: 'totalCount'
}
},
idIndex: 0,
autoload: true,
fields: [
{name: 'id'},
{name: 'rol'}
]
}),
triggerAction: 'all',
displayField: 'rol',
valueField: 'id',
{...},
]}]
}}
];
|
|
29.08.2015, 18:52
|
|
Соединяю Node.js и Ext JS
|
|
Регистрация: 25.06.2009
Сообщений: 1,033
|
|
Конкретнее пожалуйста, какая версия? Четвертых версий очень много...
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
|
|
29.08.2015, 18:57
|
|
Соединяю Node.js и Ext JS
|
|
Регистрация: 25.06.2009
Сообщений: 1,033
|
|
Форма пассивная. Приведите код, который данные забирает из формы и посылает на сервер.
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
|
|
|
|