2015-02-10 81 views
1

当前,在回复电子邮件时,说明内容在我的JavaScript运行之前加载。在Microsoft Dynamics CRM 2011中获取有关加载的描述内容

有没有一种方法可以在JavaScript代码执行之前等待加载描述?

我的代码:

function test() { 
var desc = xrm.Page.getAttribute("description").getValue(); 
alert(desc); //Nothing, since description loads after I get the value 
} 

我添加了这个功能,我的窗体的负载事件。

谢谢你的时间。

回答

3

根据此blog post您必须等待说明才能完全加载。就像在访问它之前你必须等待加载一个子网格一样。

+0

这实际上很有趣。 我通过等待加载描述来解决我的问题,但不是那样。 我最终检查了描述是否为空,如果是,请设置一个定时器,重新运行该功能,直到描述包含内容为止。 – Whew32 2015-02-12 22:11:07

1

我通过检查描述是否为空来解决问题,如果是,请重新运行该函数。

function test() { 
    if (Xrm.Page.getAttribute("description").getValue() == "") { 
     console.log("Description empty, rerunning in 1 second"); 
     setTimeout(function() { 
      test(); 
     }, 1000); 
    } else { 
     console.log(Xrm.Page.getAttribute("description").getValue()); 
    } 
} 
+1

如果由于某种原因电子邮件为空,该怎么办?那么你的JavaScript会连续运行自己 – 2015-02-13 17:34:57

+0

嗨, 它永远不会是空的,因为CRM在加载时添加

来描述。 – Whew32 2015-02-14 09:48:08

相关问题