javascript - 检查表单是否已保存在 CRM 2011 Javascript 中

标签 javascript dynamics-crm dynamics-crm-2011 crm dynamics-crm-online

我正在编写一个 Javascript,以便在单击 CRM 2011 实体表单中的自定义功能区按钮时调用外部链接。在 javascript 中,我正在检查表单是否脏。如果表单是脏的(意味着某些字段被用户修改),那么 JScript 将使用 Xrm.Page.data.entity.save() 强制保存表单。但是,当必填字段未填写时,不会发生强制保存,我必须显示一些自定义消息来填充这些字段,终止控制流并且不应打开外部链接。如何获取表单是否已保存..?

一段代码如下:

function buttonOnClick() {
    if (Xrm.Page.data.entity.getIsDirty()) 
    {
        Xrm.Page.data.entity.save();
    }
    else 
    {
        window.open('http://www.google.com', 'name', 'width=900,height=800');
    }
}

最佳答案

当您说“表单已保存”时,您是指第一次吗?如果是这样,您可以查询表单类型:-

Xrm.Page.ui.getFormType();

(例如是在“创建”还是“更新”中)。如果表单已经处于更新模式,那么您可以检查表单是否如您所说的脏。如果您想知道哪些必填字段尚未填写,您还可以循环遍历表单上的属性并查询它们是否为业务必填:-

Xrm.Page.data.entity.attributes.get("myAttribute").getRequiredLevel();

并将其添加到向用户发出的警告消息中。

关于javascript - 检查表单是否已保存在 CRM 2011 Javascript 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9991080/

相关文章:

javascript - React antd 轮播方法

javascript - 使用 JavaScript 在 Dynamics CRM 中检索法语翻译

dynamics-crm-2011 - CrmServiceContext 未加载 CRM 2015 Online 的关系数据

javascript - 更改下拉菜单文本对齐实现 1.0.0

javascript - switch/case 总是返回默认值

plugins - QualifyLeadRequest 触发 CRM 2015 中的重复检测

dynamics-crm-2011 - CRM 2013 停用记录

c# - 使用 C# 在 Dynamics CRM 中合并联系人

icons - 想要根据上下文为 Dynamics CRM 实体使用不同的图标

javascript - 循环遍历数组以记录单击时的元素时出现问题