的Javascript在CRM 2011
问题描述:
法定免责声明:新的JavaScript的Javascript在CRM 2011
表:MyForm的
领域:
ntt_name
ntt_lookup1
ntt_lookup2
要求:
阅读ntt_lookup1的价值和ntt_lookup2并获取名称(不是id)并连接它们并将其填充到名称字段(主属性)中。
我把它作为一个Web资源上传,将它与Form MyForm相关联并将它添加到onsave事件中。
我收到以下错误消息。
问题:我在做什么错?
什么我迄今所做:
- 做了谷歌搜索的错误,发现this SO问题。因此,使用Notepad ++和手动跟踪来检查任何丢失的括号。
代码:
if (typeof(CRMDynamics2011) == "undefined")
{ CRMDynamics2011 = {}; }
CRMDynamics2011.MyForm = {
FormSave: function() {
alert("Within Function FormSave");
var lookup1 = Xrm.Page.getAttribute("ntt_lookup1").getValue();
var lookup2 = Xrm.Page.getAttribute("ntt_lookup2").getValue();
if (lookup1 != null && lookup1[0] && lookup1[0].name != null) {
alert("lookup1 is NOT NULL");
var value1 = lookup1[0].name;
}
if (lookup2 != null && lookup2[0] && lookup2[0].name != null) {
alert("lookup2 is NOT NULL");
var value2 = lookup2[0].name;
}
var fieldName = Xrm.Page.getAttribute("ntt_name");
fieldName.setValue(value1 + ' - ' + value2);
}
};
答
当您使用命名空间,则必须完全限定要调用的方法。
所以在CRM中的表单属性,为的OnSave事件中使用则
CRMDynamics2011.MyForm.FormSave();
CRM应该打电话给你的方法,当你点击保存。
+0
谢谢!是的,只要我使用方法的完全限定名称,它就会工作。 – Kanini 2013-03-13 11:12:33
你用什么来将它添加到onsave中?我会猜'FormSave()'。试试'CRMDynamics2011.MyForm.FormSave()'。 – glosrob 2013-03-13 10:58:23
我觉得自己像个白痴!感谢glosrob!如果你做出了答案,我会将其视为已接受,或者如果你确定,我可以将其标记为删除(我偏好 - 因为它不是有价值的*编程*问题)。无论哪种方式,我都可以。 – Kanini 2013-03-13 11:05:06
先尝试一下(可能不是问题)!无论如何它并不立即显而易见,所以当然不是愚蠢的。如果你使用汇总12,可能会有更多的问题。 – glosrob 2013-03-13 11:05:56