2010-08-11 75 views
0

當我在每個窗口中創建包含單個文本字段對象的兩個窗口對象時。但該文本字段的Id是相同的。當我重新調整大小,最大化或最小化窗口對象時,控件從一個窗口移動到另一個窗口。 請具有標題下面的代碼,並重新大小第一窗口上一看: '窗口1'EXTJS:兩個窗口具有相同ID的對象

Ext.onReady(函數(){

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); 

});

回答

3

至於HTML,每個ID必須是唯一。否則,你有奇怪的行爲。

事實上,Ext.get方法有一個緩存,基於元素ID

所以真正的問題是:爲什麼你要設置相同的ID到文本字段?

如果你需要一個已知的ID,你可以使用:

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

或者文本字段元/組件以後訪問,您可以使用裁判的itemIdhttp://dev.sencha.com/deploy/dev/docs/?class=Ext.Component

相關問題