Javascript TypeError:无法读取属性';getValue';在welcomeAlert时为空
我是CRM的新手。 我只需要在页面的OnLoad事件上显示一条JavaScript警报消息:“欢迎‘帐户名’”。 这是我的简单代码:Javascript TypeError:无法读取属性';getValue';在welcomeAlert时为空,javascript,dynamics-crm,Javascript,Dynamics Crm,我是CRM的新手。 我只需要在页面的OnLoad事件上显示一条JavaScript警报消息:“欢迎‘帐户名’”。 这是我的简单代码: function welcomeAlert() { var userName = Xrm.Page.getAttribute("name").getValue(); if(userName !== null) { alert("Welcome " + userName + "!"); } } 但我在加载时收到错误消息:TypeError:
function welcomeAlert()
{
var userName = Xrm.Page.getAttribute("name").getValue();
if(userName !== null)
{
alert("Welcome " + userName + "!");
}
}
但我在加载时收到错误消息:TypeError:无法在welcomeAlert读取null的属性“getValue”
如果我的代码看起来像下面的代码,那么一切正常
function welcomeAlert()
{
alert("Welcome ");
}
有人能帮忙吗?可能属性名称不正确。但是我不知道如何检查。根据您的CRM版本,
Xrm.Page
可能会被弃用。指
正确的方法是使用executionContext
对象,这是一个可以通过CRM传递给方法的参数。Microsoft提供了一个如何执行此操作的示例,但步骤如下:
函数welcomeAlert(executionContext)
executionContext
检索formContext
:例如var formContext=executionContext.getFormContext()
formContext
替代Xrm.Page
:例如var userName=formContext.getAttribute(“name”).getValue()代码>
function welcomeAlert(executionContext)
{
var formContext = executionContext.getFormContext();
var userName = formContext.getAttribute("name").getValue();
if(userName !== null)
{
alert("Welcome " + userName + "!");
}
}
name
,以确保其在表单中new\u name
header\u name
getValue()
var nameValue=Xrm.Page.getAttribute(“Name”).getValue();
将帐户名称字段的值指定给nameValue变量
帐户名的正确属性是“parentcustomerid”。这段代码对我很有用
function welcomeAlert()
{
var userName = Xrm.Page.getAttribute("parentcustomerid").getValue()[0].name;
if(userName !== null)
{
alert("Welcome " + userName + "!");
}
}
谢谢大家的回复。因此getAttribute('name')显然没有返回任何内容。因为我不知道Xrm或Page是什么,所以我无法提供更具体的帮助。打开调试器,在var username行上放置一个断点,并将鼠标悬停在对象上,查看它们具有哪些属性。这可能会有所帮助。“name”是否可能重复字段存在于您的页面中?我创建了所有4个阶段,但这并没有解决问题。得到相同的错误是表单上的
name
字段?否。我在docs.microsoft上读到了这一点,所以我认为帐户名的属性是“name”。var nameValue=Xrm.Page.getAttribute(“name”).getValue();将帐户名称字段的值分配给nameValue变量。帐户名称的正确属性是“parentcustomerid”。此代码对我适用。函数welcomeAlert(){var userName=Xrm.Page.getAttribute(“parentcustomerid”).getValue()[0]。Name;if(userName!==null){alert(“欢迎”+userName+“!”);}谢谢你的回复。哦,你不是在账户上
表单上-你是在联系人上
表单上。这现在是有意义的。你自己修好了:)天哪,完全不同的属性。很高兴你解决了。由于您是本网站的新手,当您发布您的问题时,请尝试添加您正在谈论的内容的截图。。因此,问题很容易识别。祝您愉快:)