Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Загрузка *.html во viewport (https://javascript.ru/forum/extjs/18742-zagruzka-%2A-html-vo-viewport.html)

mephy 13.07.2011 17:08

Загрузка *.html во viewport
 
Всем привет.

Есть такая структура:
Ext.create('Ext.Viewport', {
        layout: {
            type: 'border',
            padding: 5
        },
        defaults: {
            split: true
        },
        items: [{
            id: 'app-header',
            xtype: 'box',
            region: 'north',
            height: 40,
            html: '<h1>Header</h>'

        },
        treePanel
        ,{
            region: 'center',
            border: true,
            html: 'center center',
            title: 'center',
            id: 'newblock'
        }]
    });


treePanel - дерево.
По клику на его листья срабатывает
treePanel.getSelectionModel().on('select', function(selModel, record) {
        if (record.get('leaf')) {

            alert(record.getId());
            //Ext.getCmp('newblock').load('1.html');
        }
    });


alert верно выдает id страницы, а как загрузить в панель нужный html?

Понимаю, вопрос нубовый, но что-то никак не могу найти нужный метод :-)

Спасибо :-)

VKS 14.07.2011 11:13

Ext.getCmp('some_panel_id').load({url:’your_url_containing_scripts.htm’,scripts:true, params:{something:else}});

mephy 14.07.2011 12:33

Uncaught Ext.Error: You're trying to decode an invalid JSON String: <h1>Hi!</h1>


А можно как html загружать?

VKS 14.07.2011 13:43

http://examples.extjs.eu/autoload.html

mephy 14.07.2011 14:03

autoload немного не то.

у меня дерево + панель справа.
по клику на листья дерева должны подгружаться страницы справа (чаще всего с php файлов).

Но мне гораздо проще будет передавать тексты в html, а не JSON

VKS 14.07.2011 14:16

в примере есть как бы кнопка "Reload", хотя лично в вашем примере я не понимаю в чем может быть проблема. Используйте ифрейм

mephy 14.07.2011 14:20

var centerPanel = new Ext.form.Panel({
   region: 'center',
    html: '<div id="test"></div>',
    id: 'newPanel'
});


    treePanel.getSelectionModel().on('select', function(selModel, record) {
        if (record.get('leaf')) {
 
               Ext.get('test').load({
                url:record.getId()+'.html',
                scripts:true
                });
        }
    });


Сделал вот так. Коряво конечно...
В div загружает html, а в ext.form.panel только JSON


Часовой пояс GMT +3, время: 23:37.