EXTJS: два окна, имеющие объекты с одинаковым идентификатором - PullRequest
0 голосов
/ 11 августа 2010

Когда я создаю два объекта окна, содержащие один объект текстового поля в каждом окне.Но идентификатор этого текстового поля такой же.Когда я изменяю размер, увеличиваю или уменьшаю объект окна, элементы управления перемещаются из одного окна в другое.Пожалуйста, посмотрите на следующий код и измените размер первого окна под названием: 'window 1'

Ext.onReady (function () {

var win = new Ext.Window({
    title : 'window 1',
    width:200,
    height:200,
    maximizable : true,
    x : 50,
    items: [{xtype : 'textfield', id: 'text1'}] 
});

win.show(this);

var win2 = new Ext.Window({
    title : 'window 2',
    width:200,
    height:200,
    maximizable : true,

    x : 350,
    items: [{xtype : 'textfield', id: 'text1'}]

});

win2.show(this);

});

1 Ответ

3 голосов
/ 11 августа 2010

Что касается HTML, каждый идентификатор должен быть уникальным .В противном случае у вас будет странное поведение.

Действительно, метод Ext.get имеет кэш, основанный на элементе id .

реальный вопрос: почему вы устанавливаете тот же идентификатор для текстовых полей?

Если вам нужен известный идентификатор, вы можете использовать:

tId = Ext.id(); // generates an id
items: [{xtype : 'textfield', id: tId}]

Иличтобы получить доступ к элементу / компоненту текстового поля позже, вы можете использовать ref или itemId : http://dev.sencha.com/deploy/dev/docs/?class=Ext.Component

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...