2016-01-18 30 views
0

我有三個單獨的選項卡面板,每個選項卡面板都是我的數據庫中的一個表格。我想要做的是點擊一個按鈕,同時將所有三個選項卡的內容保存在數據庫中。我設法通過激活選項卡,然後傳遞給它一定的價值。但是,當我從我的代碼中刪除兩個警報功能,我得到的B.RECORD是undefined。對此有何幫助?刪除警報時,變量變得不明確

 tabPanel.setActiveTab(1); 
     tabPanel.setActiveTab(2); 
     tabPanel.setActiveTab(0); 

var B= window.frames["frm_B"]; 
var C= window.frames["frm_C"]; 

alert(B); 
alert(C); 
try { 
    B.RECORD.getField("AID").setRealValue(aid); 
    C.RECORD.getField("AID").setRealValue(aid); 
    B.RECORD.update(); 
    C.RECORD.update(); 
    parent.refreshGrid(); 
    parent.win.close(); 
+0

能否請您複製粘貼HTML代碼也! –

回答

2

這看起來像alert()給你一些時間來加載iframes。您需要使用:

  1. setTimeout給出幀的任意加載時間。
  2. 使用​​事件的幀。

我寧願使用​​事件,因爲它是可靠的。所以,對於這一點,把下面的代碼和超越load事件的iframe內:是可以做到用

try { 
    B.RECORD.getField("AID").setRealValue(aid); 
    C.RECORD.getField("AID").setRealValue(aid); 
    B.RECORD.update(); 
    C.RECORD.update(); 
    parent.refreshGrid(); 
    parent.win.close(); 

load事件:Javascript callback when IFRAME is finished loading?