CRM 2011 xrm.page.getattribute 在有值时返回 null

crm 2011 xrm.page.getattribute returns null when there is value

本文关键字:返回 null 2011 xrm page getattribute CRM      更新时间:2023-09-26

我对JScript不是很熟练,但我在一个函数webResource中编写了以下代码,该函数应该在表单加载时运行(OnLoad)

var creationDateName = "createdon";
var today = new Date();
var creationDateAttr = Xrm.Page.getAttribute(creationDateName);
if(creationDateAttr!=null)
{
  /* Some more code */
}

问题是Xrm.Page.getAttribute(creationDateName)在字段上有值时返回null(字段未显示在表单中,但在查找时具有值)。关于它的时髦之处在于,在我的测试组织中,相同的代码就像一个魅力,但是当我将其复制并粘贴到生产组织以发布解决方案时,它无法正常工作,这让我很困惑。知道会发生什么吗?

您需要使用 getValue 返回字段中的值。您的代码只是检查页面上是否存在该字段。

您还需要注意,在创建模式下,不会设置这些值,因此无法检索它们。在更新模式下,它们将工作。因此,您还需要检查页面是否处于更新模式:

var formType = Xrm.Page.ui.getFormType();
if (formType === 2) // Update
{
    var creationDate = Xrm.Page.getAttribute(creationDateName).getValue();
}

它给你的属性而不是值。

要获取值,您必须编写如下代码

var creationDateAttr = Xrm.Page.getAttribute(creationDateName);
var valueDateAttr=creationDateAttr.getValue();

var creationDateAttrValue = Xrm.Page.getAttribute(creationDateName).getValue();

希望这会有所帮助

愚蠢的

我,我忘了添加我正在寻找的字段,这就是为什么它返回 null 的原因,但感谢 Donal 的答案,实际上我正在尝试验证该字段是满的还是空的。谢谢