Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.02.2015, 15:30
Профессор
Отправить личное сообщение для potkin Посмотреть профиль Найти все сообщения от potkin
 
Регистрация: 23.08.2008
Сообщений: 162

Sencha Touch: как загрузить с сервера данные в поля.
Есть Вьюха:
Ext.define("MyApp.view.view1", {
    extend: "Ext.Panel",
    ...


И на ней есть поля: Текстовые, datepickerfield, selectfield, ...:
{
    xtype: "fieldset",
    docked: "top",
    items: [
        {
            xtype: "datepickerfield",
            label: "Дата",
            value: new Date(),
            dateFormat: "d.m.Y",
            id: "Date1",
            required: true
        },
    ...



Как с сервера загрузить данные во все поля одним запросом?

Например в ExtJS 4.X делал так:
var PanelData = new Ext.FormPanel({
    region: 'center',
    url: ...
    frame: true,
    monitorValid: true,
    ...

... ... ...

//Вот так загружаю данные с Сервера
PanelData.load({
    timeout: TimeOutDefault,
    waitMsg: lanLoading,
    success: function (result) {
    ...


Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 03.02.2015, 09:12
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

я канешь на сенча тач не писал, но попробую предположить
в extjs есть xtype form у которого есть метод load. я посм в доки у сенча тач и увидел, что там тоже есть from:
http://docs-origin.sencha.com/touch/...Ext.form.Panel
и есть метод load. может он поможет?
Ответить с цитированием
  #3 (permalink)  
Старый 03.02.2015, 17:49
Профессор
Отправить личное сообщение для potkin Посмотреть профиль Найти все сообщения от potkin
 
Регистрация: 23.08.2008
Сообщений: 162

Делаю так:
var form = Ext.getCmp("formX");

form.setValues({
    Date1: new Date(),
    ...
});

Получаю ошибку при "form.setValues(...":
undefined is not a function
Ответить с цитированием
  #4 (permalink)  
Старый 03.02.2015, 18:55
Профессор
Отправить личное сообщение для siber-biber Посмотреть профиль Найти все сообщения от siber-biber
 
Регистрация: 07.08.2013
Сообщений: 214

form.getForm().setValues({ ... })
Ответить с цитированием
  #5 (permalink)  
Старый 03.02.2015, 19:30
Профессор
Отправить личное сообщение для potkin Посмотреть профиль Найти все сообщения от potkin
 
Регистрация: 23.08.2008
Сообщений: 162

К сожалению, но ...
form.getForm(): <not available>


Сейчас делаю так:
Делаю Запрос на сервер, получаю значения полей и по id-шнику проставляю значения в поля.
Но, это онанизм какой-то
Ответить с цитированием
  #6 (permalink)  
Старый 03.02.2015, 19:35
Профессор
Отправить личное сообщение для siber-biber Посмотреть профиль Найти все сообщения от siber-biber
 
Регистрация: 07.08.2013
Сообщений: 214

form это у вас что? какой компонент?
Ответить с цитированием
  #7 (permalink)  
Старый 03.02.2015, 19:48
Профессор
Отправить личное сообщение для siber-biber Посмотреть профиль Найти все сообщения от siber-biber
 
Регистрация: 07.08.2013
Сообщений: 214

console.log(form.$className)
Ответить с цитированием
  #8 (permalink)  
Старый 04.02.2015, 19:45
Профессор
Отправить личное сообщение для potkin Посмотреть профиль Найти все сообщения от potkin
 
Регистрация: 23.08.2008
Сообщений: 162

MyApp.view.view1

там в самом верхнем посту:
Ext.define("MyApp.view.view1", {
    extend: "Ext.Panel",
    alias: "widget.view1",
    ...
Ответить с цитированием
  #9 (permalink)  
Старый 04.02.2015, 19:57
Профессор
Отправить личное сообщение для siber-biber Посмотреть профиль Найти все сообщения от siber-biber
 
Регистрация: 07.08.2013
Сообщений: 214

дак у вас там формы нет в принципе? вы в примере extjs4 нарисовали форму ..что вам мешает её использовать в ext5 ?
Ответить с цитированием
  #10 (permalink)  
Старый 05.02.2015, 12:50
Профессор
Отправить личное сообщение для potkin Посмотреть профиль Найти все сообщения от potkin
 
Регистрация: 23.08.2008
Сообщений: 162

Это Sencha Touch и стандарт написания MVC кода для Сенчи.


Есть app.js:
Ext.application({
    name: "XXX",

    models: ["App/modelAppList", ...],
    stores: ["App/storeAppList", ...],
    views: ["App/viewAppList", ...],
    controllers: ["App/controllerAppList", ...],

    launch: function () {
        var viewAppList = { xtype: "viewapplist", id: "formX" };
        ...

        Ext.Viewport.add([viewAppList, ...]);
    }
});


Есть viewAppList:
Ext.define("XXX.view.App/viewAppList", {
    extend: "Ext.Panel",
    alias: "widget.viewapplist",

    config: {
        layout: { type: "fit" },
        items: [
            //Верхнее меню
            {
                xtype: "toolbar",
                title: "...",
                docked: "top",
                items: [
                    {
                        xtype: "datepickerfield",
                        name: "Date1",
                        width: 155, value: new Date(), dateFormat: "d.m.Y"
                    },
                    { xtype: "spacer" },
                    {
                        //Выход
                        xtype: "button", ui: "action", itemId: "buttonExit"
                    }
                ]
            },
            {
                xtype: "list", 
                loadingText: "...", emptyText: "...", 
                store: "App/storeAppList", 
                itemId: "listAppList", 
                onItemDisclosure: true, 
                grouped: true, 
                itemTpl: "{AppName}"
            }

        ],
        listeners: [
            {
                delegate: "#buttonExit",
                event: "tap",
                fn: "onButtonExitTap"
            },
            {
                delegate: "#listAppList",
                event: "select",
                fn: "onListAppListSelect"
            }
        ]

    },

    onButtonExitTap: function () {
        this.fireEvent("buttonExitCommand", this);
    },
    onListAppListSelect: function (list, record, target, index, evt, options) {
        this.fireEvent("listAppListCommand", this, record);
    }
});


Есть model и store
//...

Я честно говоря недавно с Сенча Точ разбираюсь и не понял, зачем ещё рисовать форму?
Уже всё нарисовано, просто обращайся и используй.
Например в самом верху:
var viewAppList = { xtype: "viewapplist", id: "formX" };

По "id" я юзаю viewAppList так:
var form = Ext.getCmp("formX");
form.setValues({
    Date1: new Date(),
    ...
});

Но не работает ...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить данные формы Moonlight Angular.js 0 24.10.2014 11:12
Как передать данные в скрипт? ivaniv1900 jQuery 6 23.06.2014 16:18
Как передать данные из jqGrid в текстовое поле? Rooner jQuery 2 27.09.2012 19:31
Как вывести данные из PHP Sherminator Events/DOM/Window 2 07.08.2012 20:11
Help ! Как загрузить данные по ссылке из таблицы1 в таблицу2 ? asked86 Общие вопросы Javascript 1 25.03.2009 21:06