我们正在测试2013年至2016年Dynamics CRM的升级,以了解CRM升级后需要升级的自定义项.
我们有以下用于特定情况的Javascript网络资源.
function MyOnLoad()
{
var pickListValue = Xrm.Page.getAttribute("field1").getValue();
if (Xrm.Page.ui.getFormType() == 2 && pickListValue == 100000006)
{
var ddlNewField1 = document.getElementById("field1");
if (ddlNewField1.addEventListener) {
ddlNewField1.addEventListener ("change", function () {MyOnChange();}, false);
}
else {
ddlNewField1.attachEvent('onchange',MyOnChange);
}
}
}
function MyOnChange()
{
if (Xrm.Page.getAttribute("field1").getValue() == "100000006") {
Xrm.Page.getControl("field2").setVisible(false);
Xrm.Page.getAttribute("field2").setRequiredLevel("none");
}
// If the selected value is not Other, hide Specify, and set requirement to Not Required
else {
Xrm.Page.getControl("field2").setVisible(true);
Xrm.Page.getAttribute("field2").setRequiredLevel("required");
}
}
Run Code Online (Sandbox Code Playgroud)
此代码在我们的Dynamics CRM 2013中运行良好,它旨在执行以下操作:
加载Lead表单时,如果FIELD1的值设置为特定值,它将显示第二个字段FIELD2并使其成为必需的业务.
这里棘手的部分是,如果第一个字段在表单加载时包含该特定值,则第二个字段仅可见.如果由于某种原因,表单加载期间第一个字段的值不同,即使您选择该特定值,第二个字段也不会显示.
所以要恢复:
在Form Load上永远不会显示FIELD2 …
javascript microsoft-dynamics dynamics-crm dynamics-crm-2013 dynamics-crm-2016