2013-03-13 109 views
4

法定免责声明:新的JavaScript的Javascript在CRM 2011

:MyForm的

领域

ntt_name 
ntt_lookup1 
ntt_lookup2 

要求

阅读ntt_lookup1的价值和ntt_lookup2并获取名称(不是id)并连接它们并将其填充到名称字段(主属性)中。

我把它作为一个Web资源上传,将它与Form MyForm相关联并将它添加到onsave事件中。

我收到以下错误消息。

enter image description here

问题:我在做什么错?

什么我迄今所做

  1. 做了谷歌搜索的错误,发现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); 

    } 
}; 
+0

你用什么来将它添加到onsave中?我会猜'FormSave()'。试试'CRMDynamics2011.MyForm.FormSave()'。 – glosrob 2013-03-13 10:58:23

+0

我觉得自己像个白痴!感谢glosrob!如果你做出了答案,我会将其视为已接受,或者如果你确定,我可以将其标记为删除(我偏好 - 因为它不是有价值的*编程*问题)。无论哪种方式,我都可以。 – Kanini 2013-03-13 11:05:06

+0

先尝试一下(可能不是问题)!无论如何它并不立即显而易见,所以当然不是愚蠢的。如果你使用汇总12,可能会有更多的问题。 – glosrob 2013-03-13 11:05:56

回答

3

当您使用命名空间,则必须完全限定要调用的方法。

所以在CRM中的表单属性,为的OnSave事件中使用则

CRMDynamics2011.MyForm.FormSave(); 

CRM应该打电话给你的方法,当你点击保存。

+0

谢谢!是的,只要我使用方法的完全限定名称,它就会工作。 – Kanini 2013-03-13 11:12:33