我有一小段Javascript,可将某些形式的字段设置为可选。
我已经多次检查语法,在CRM表单中检查了执行顺序,并且没有其他JS库的引用。
function getFormName() {
var formName;
formName = Xrm.Page.ui.formSelector.getCurrentItem().getLabel();
if (formName == "EPS Plan Form") {
Xrm.Page.getAttribute("abc_plan_type").setRequiredLevel("none");
Xrm.Page.getAttribute("usi_erisa_plan").setRequiredLevel("none");
Xrm.Page.getAttribute("abc_product").setRequiredLevel("none");
}
}
我遇到的错误似乎与一般语法问题有关:
ReferenceError: getName is not defined
at eval (eval at RunHandlerInternal
at RunHandlerInternal
at RunHandlers
at OnScriptTagLoaded
答案 0 :(得分:2)
似乎您在表单上的事件触发器可能已配置为调用名为getName
的函数...
如果您检查“属性”>“事件”表单,是否在OnLoad事件中看到对getName
的调用?根据上面的函数名称,您需要它来调用getFormName
。
记录下来,Xrm.Page is deprecated支持传递执行上下文并使用executionContext.getFormContext()
(除非从Web资源引用父页面,在这种情况下仍支持Xrm.Page,最后我听到的。)