Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.08.2015, 18:34
Новичок на форуме
Отправить личное сообщение для smilexcasper Посмотреть профиль Найти все сообщения от smilexcasper
 
Регистрация: 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,даже если ты не изменяешь данное поля?
Ответить с цитированием
  #2 (permalink)  
Старый 27.08.2015, 13:41
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Если честно не очень понятно в чем проблема. Написано очень сумбурно. Лучше будет, если вы приведете код в песочнице, чтобы там можно разобраться.

Цитата:
в базу от этого поля пытается записатся его имя
Записью в базу занимается сервер, а не клиент. Поэтому неплохо было бы пояснить что за проблема на клиенте, при условии что на самом сервере проблем нет.

Цитата:
изменяю другие данные
Что такое 'другие данные'?

Цитата:
сбрасывался всегда на id
И тут поясните, что вы подразумевали под 'сбрасывался'.
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
  #3 (permalink)  
Старый 27.08.2015, 17:54
Новичок на форуме
Отправить личное сообщение для smilexcasper Посмотреть профиль Найти все сообщения от smilexcasper
 
Регистрация: 26.08.2015
Сообщений: 6

Смотри:
Есть таблица:

Добавляю отдел:

В итоге такой запрос:

И получаю:

Что отдел есть,а должности нету.
А если должность выбрать заного,то получу то что нужно,в запросе вместо имени "тестовая должность" будет 1
Ответить с цитированием
  #4 (permalink)  
Старый 28.08.2015, 11:25
Новичок на форуме
Отправить личное сообщение для smilexcasper Посмотреть профиль Найти все сообщения от smilexcasper
 
Регистрация: 26.08.2015
Сообщений: 6

Есть мысли?
Ответить с цитированием
  #5 (permalink)  
Старый 28.08.2015, 13:18
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Какая версия Ext (не ясно откуда взялась опция idIndex: 0, но в пятой версии такой опции нет)?

Также приведите полный код, формирующий форму.
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
  #6 (permalink)  
Старый 28.08.2015, 13:53
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

отдел и должность являются связанными списками? Значение должности выбирается из списка вручную?
Ответить с цитированием
  #7 (permalink)  
Старый 28.08.2015, 14:17
Новичок на форуме
Отправить личное сообщение для smilexcasper Посмотреть профиль Найти все сообщения от smilexcasper
 
Регистрация: 26.08.2015
Сообщений: 6

Ext 4 версии
Списки не связаны.
Из списка который по пост забросу берется,выбирает вручную при добавлении,но после сохранения,вновь зайдя в редактирования и изменении любогог другого поля,вместе id отдела или должности посылается имя,но в БД не придёт,т.к. поля int.
А вот если при редактировании выбрать заново отдел или должность,то придёт id.

Последний раз редактировалось smilexcasper, 28.08.2015 в 14:21.
Ответить с цитированием
  #8 (permalink)  
Старый 28.08.2015, 14:20
Новичок на форуме
Отправить личное сообщение для smilexcasper Посмотреть профиль Найти все сообщения от smilexcasper
 
Регистрация: 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',
					{...},																		
							
					
			]}]
            }}
        ];
Ответить с цитированием
  #9 (permalink)  
Старый 29.08.2015, 18:52
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Конкретнее пожалуйста, какая версия? Четвертых версий очень много...
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
  #10 (permalink)  
Старый 29.08.2015, 18:57
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Форма пассивная. Приведите код, который данные забирает из формы и посылает на сервер.
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Dojo/store/Memory объект как store для DataGrid abstract Dojo toolkit 7 08.02.2013 17:12
Как узнать ID выделенного элемента в форме? Diger Events/DOM/Window 4 19.11.2012 07:36
Как обновить store у GridPanel vva1972 ExtJS 2 23.09.2011 10:03
Как добавить Ext.grid.CheckColumn в Ext.grid.EditorGridPanel динамически? Ex_Soft ExtJS 2 15.09.2010 11:47