2016-05-10 7 views
1

MS-Excelファイルを返すボタンClickイベントのUIに次のコードがあります。最初のクリックイベントでは完全に機能しますが、その後に次のエラーを返します。キャッチされていないエラー:要素キャッシュ内のID xのDOM要素がDOMの要素と同じではありません

どのような提案が、私はそれを取り除くことができますか?

ERROR: Uncaught Error: DOM element with id iframe in Element cache is not the same as element in the DOM. Make sure to clean up Element instances using destroy()

{ 
var body = Ext.getBody(); 
var frame = body.createChild({ 
tag:'iframe' 
,cls:'x-hidden' 
,id:'iframe' 
,name:'iframe' 
}); 

var form = body.createChild({ 
tag:'form' 
,cls:'x-hidden' 
,id:'form' 
,params: cloneExportObject 
,method: 'post' 
,action:link 
,target:'iframe' 
,enctype: 'application/x-www-form-urlencoded' 
,encoding: 'application/x-www-form-urlencoded' 
}); 

var hiddenItem1 = document.createElement('input'); 
Ext.fly(hiddenItem1).set({ 
type: 'hidden', 
value: cloneExportObject.securityId, 
name: 'securityId' 
}); 
form.appendChild(hiddenItem1); 

var hiddenItem2 = document.createElement('input'); 
Ext.fly(hiddenItem2).set({ 
type: 'hidden', 
value: cloneExportObject.uniqueSearchId, 
name: 'uniqueSearchId' 
}); 
form.appendChild(hiddenItem2); 

form.dom.submit(); 
} 
+0

それが言うようにほとんど。いつあなたがそこに作ったものをすべて掃除していますか? –

+0

@EvanTrimboliありがとう、私はdestroy()イベントを使用しようとしましたが、動作しませんでした。たぶん、私はUIのdevには新しいとどの要素を削除するかわからないため、削除する方法と削除するには? – Jammy

+0

破壊イベントの意味がわかりません。それらの要素をどこで浄化していますか? –

答えて

1
if(Ext.Element.cache.hasOwnProperty(domId)){ 
      Ext.Element.cache[domId].destroy(); 
     } 

     var domElement = Ext.get(domId); 
+0

あなたのコードの説明/コメントを忘れずに、関連するドキュメント[レビューから]を提供してください。 – Blag

関連する問題