我编写了 javascript 代码并将其添加为实体(联系人)加载事件的表单。在该代码中,我想从打开的表单导航到另一个表单。
对于以前的开发,我正在尝试获取导航所需的打开表单的 ID。 代码如下所示。
var id = Xrm.Page.ui.formSelector.getCurrentItem().getId();
if (itemid != null)
Xrm.Page.ui.formSelector.items.get(id).navigate();
Xrm.Page.ui.formSelector.getCurrentItem()
函数返回空值。它没有得到该项目,所以我无法获得值(value)。该代码有什么问题,我错过了什么?
提前感谢您的回复。
最佳答案
您将值分配给 id
变量,但在您的 IF
条件中检查 itemid
。
在 if 条件下,只需将 if (itemid != null)
替换为 if (id != null)
测试您的 JavaScript。您可以运行以下功能:
var formItem = Xrm.Page.ui.formSelector.getCurrentItem();
if (formItem != null)
{
var itemId = formItem.getId();
var itemLabel = formItem.getLabel();
alert(itemId + " | " itemLabel);
}
else
{
alert("Unable to get current form");
}
最后,要在表单之间切换,下面是一个非常有用的函数,它将表单名称作为参数。您可以根据需要进行更改以使用表单 ID。
function redirectToForm(formName) {
var currentForm = Xrm.Page.ui.formSelector.getCurrentItem();
if (currentForm != null) {
if (currentForm.getLabel().toLowerCase() != formName.toLowerCase()) { //make sure it's not already this form
var availableForms = Xrm.Page.ui.formSelector.items.get();
for (var i in availableForms) {
var form = availableForms[i];
if (form.getLabel().toLowerCase() == formName.toLowerCase()) {
form.navigate();
}
}
}
}
}
关于javascript - CRM Xrm.Page.ui.formSelector.items.get() 返回 Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25309403/