2016-01-18 40 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?