Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.06.2012, 23:10
Новичок на форуме
Отправить личное сообщение для alex3112 Посмотреть профиль Найти все сообщения от alex3112
 
Регистрация: 11.06.2012
Сообщений: 7

Получить элемент в window по классу
Здравствуйте. Задача:
Есть элемент widget.inspector, наследующий Window.
У него есть кнопка xtype: 'buttongroup' и элемент iframe.
Необходимо в обработчике щелчка по кнопке получить объект iframe для изменения его свойства src. У iframe есть только свойство class, id у него нет. Очень прошу помочь.

Последний раз редактировалось alex3112, 11.06.2012 в 23:13.
Ответить с цитированием
  #2 (permalink)  
Старый 11.06.2012, 23:14
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

var result = inspector.getEl().select("iframe");
var iframe = result.elements[0];
iframe.set({src: "newsrc"});

http://docs.sencha.com/ext-js/4-1/#!...-method-select
http://docs.sencha.com/ext-js/4-1/#!...ent-method-set
http://docs.sencha.com/ext-js/4-1/#!...mpositeElement

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

Что-то вы по ходу меняете задачу))))
Ответить с цитированием
  #4 (permalink)  
Старый 11.06.2012, 23:20
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Если iframe один, то должно сработать.
Ответить с цитированием
  #5 (permalink)  
Старый 11.06.2012, 23:44
Новичок на форуме
Отправить личное сообщение для alex3112 Посмотреть профиль Найти все сообщения от alex3112
 
Регистрация: 11.06.2012
Сообщений: 7

А как получить объект inspector? this и event ссылаются на объект button.
Ответить с цитированием
  #6 (permalink)  
Старый 11.06.2012, 23:54
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Цитата:
А как получить объект inspector? this и event ссылаются на объект button.
this.up("inspector")
Ответить с цитированием
  #7 (permalink)  
Старый 11.06.2012, 23:57
Новичок на форуме
Отправить личное сообщение для alex3112 Посмотреть профиль Найти все сообщения от alex3112
 
Регистрация: 11.06.2012
Сообщений: 7

this.up() : [Exception: TypeError: Object [object Object] has no method 'up']
Ответить с цитированием
  #8 (permalink)  
Старый 11.06.2012, 23:58
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Раз так, то приводите весь код.
Ответить с цитированием
  #9 (permalink)  
Старый 12.06.2012, 00:00
Новичок на форуме
Отправить личное сообщение для alex3112 Посмотреть профиль Найти все сообщения от alex3112
 
Регистрация: 11.06.2012
Сообщений: 7

Inspector.Controller:

Ext.define('AM.controller.Inspector',{
extend: 'Ext.app.Controller',
views: ['inspector'],



init: function(options){
this.control({
'inspector button[action=goto]':{click: this.gotoPage, delegate: this},
'inspector button[action=inspect]':{click: this.inspect},
'inspector': {id: options.id, destroy: this.closeWin, move: this.saveWin}
})
},

//открыть страницу
gotoPage: function(event){
var url = Ext.getCmp('url').getValue();
if(!/^http:\/\//.test(url)){
url = 'http://'+url;
//url = 'http://interface/index.php?controller=content&action=getHttp&addres s='+aurl;

}
var iframe = Ext.get('.container');

iframe.dom.src = url;
Ext.getCmp('url').setValue(url);
this.win.setTitle(url);
}
...




Inspector.view:

Ext.define('AM.view.inspector', {
extend: 'Ext.window.Window',
alias: 'widget.inspector',

initComponent: function(options){

var toolbar = new Ext.Toolbar({
defaults:{
iconAlign: 'top'
},
items: [
{text:'Назад',iconCls:'back', action: 'back'},
{text:'Вперед',iconCls:'forward'},
{text:'Обновить',iconCls:'reload'},
{text:'Остановить',iconCls:'stop'},
{text:'Домой',iconCls:'home', action: 'goHome'},
'-',
{
xtype: 'buttongroup',
items:[
{xtype:'textfield',id:'url',width:250,enableKeyEve nts:true},
{iconCls:'goto', action: 'goto'}
]
},
{text: 'Инспектировать', action: 'inspect'},
'->',
{text:'Закладки',iconCls:'book'}
]
});

if(this.idl) this.id = this.idl;
var url = this.url == null ? '' : this.url;
//this.height= 400;
//this.width= 600;
//this.x= 450;
//this.y= 250;
this.title= 'Инспектор';
this.tbar = toolbar;
this.closable= true;
this.maximizable= true;
this.maskDisabled= true;
this.plain= true;
this.layout= 'fit';
this.bodyStyle= 'background-color:#fff';
//this.html= '<iframe id="container" src="" style="width:100%;height:100%;border:none"></iframe>';
this.items=[{
xtype : "component",
autoEl : {
tag : "iframe",
src : url,
cls: 'container'
},
listeners: {
afterrender: function () {
this.getEl().on('load', function () {
//console.log('loaded');
});
}
}
}];


this.callParent(arguments);
}
})
Ответить с цитированием
  #10 (permalink)  
Старый 12.06.2012, 00:03
Новичок на форуме
Отправить личное сообщение для alex3112 Посмотреть профиль Найти все сообщения от alex3112
 
Регистрация: 11.06.2012
Сообщений: 7

Кнопка с action='goto' и соответствующий обработчик в контроллере
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить элемент, на котором была вызвана функция barcelona Общие вопросы Javascript 15 06.07.2013 03:44
Получить элемент Id.Class debugx jQuery 1 25.05.2011 11:50
Получить элемент из store DenQ ExtJS 1 07.11.2010 16:51
Как получить список пользовательских функций объекта window? Маэстро Events/DOM/Window 13 03.07.2010 13:20
Как получить указатель на элемент вызвавший функцию pelayo Общие вопросы Javascript 9 29.06.2010 23:32