我对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(该字段未在表单中显示,但在查找时具有值)。关于它的时髦之处在于,在我的测试组织中,相同的代码就像魅力一样,但当我将其复制并粘贴到生产组织上以发布解决方案时,它无法正常工作,这让我感到很困惑。知道可能会发生什么吗?
答案 0 :(得分:4)
您需要使用getValue返回字段中的值。您的代码只是检查页面上是否存在该字段。
您还需要注意,在“创建”模式下,未设置这些值,因此您无法检索它们。在更新模式下,它们将起作用。所以你需要检查页面是否也处于更新模式:
var formType = Xrm.Page.ui.getFormType();
if (formType === 2) // Update
{
var creationDate = Xrm.Page.getAttribute(creationDateName).getValue();
}
答案 1 :(得分:2)
它为您提供的属性不是值..
获取您必须编写代码的值,如下所示
var creationDateAttr = Xrm.Page.getAttribute(creationDateName);
var valueDateAttr=creationDateAttr.getValue();
OR
var creationDateAttrValue = Xrm.Page.getAttribute(creationDateName).getValue();
希望这会有所帮助
答案 2 :(得分:0)
愚蠢的我,我忘了添加我正在寻找的字段,这就是为什么它返回null但是多亏了Donal的答案,实际上我试图验证字段是否已满或为空。感谢