4

我正在使用 Dynamics CRM 2011 Online 并尝试重构一些适用于报价 > 添加产品页面的代码,使其也适用于订单 > 添加产品。问题是,当页面加载时,我收到错误“无法获取未定义或空引用的属性'getValue'”。

我进入 IE 控制台(尝试了 IE 9 和 10)并输入了我认为有问题的行:

Xrm.Page.getAttribute('ati_clin').getValue()

它抱怨“对象不支持属性或方法'getAttribute'”。我也试过

document.getElementById('ati_clin')

但这也失败了。

这对我来说没有意义,因为我可以使用开发人员控制台的 HTML 视图来查找页面上的对象,并且它显然就在那里(也没有错字)。即使其中一个页面在运行时正常运行而另一个页面没有正常运行,该语句在两个页面上的控制台中都失败也是没有意义的。它至少不应该在运行时工作的页面上工作吗?

在做了一些研究之后,我认为以下帖子是最相关的,但我担心它不会让得到答案,因为我对此有多新:Xrm.Page.data is null

我的问题是,如果元素明显存在,为什么控制台会返回此错误?

4

1 回答 1

3

调试这样的问题时的一个方便的技巧:

Xrm.Page 对象存在于框架的上下文中。如果您想在 IE Developer 工具中使用控制台而不需要中断调试模式,您首先必须指向页面上的框架。

例子:

frames[0].Xrm.Page.getAttribute('ati_clin').getValue()
于 2012-10-16T18:28:29.773 回答