javascript 在Dynamics 365中输入字段变脏时自动保存表单

huus2vyu  于 2022-12-28  发布在  Java
关注(0)|答案(1)|浏览(108)

此脚本有什么问题?出现此错误-脚本错误-此记录的某个脚本导致了错误。有关详细信息,请下载日志文件。

function autosaveWhenFieldIsDirty(formContext)
{
    var isFieldDirty = formContext.getAttribute("logdate").getIsDirty();

    var saveOptions = {
        saveMode: 70
    };

    if(isFieldDirty == true)
    {
        formContext.data.save(saveOptions).then(
            function (success) {
                console.log(success);
            },
            function (error) {
                console.log(error);
            }
        );
    }
}
wkyowqbh

wkyowqbh1#

我相信你的脚本的主要问题与参数有关。当函数绑定到onchange事件executionContext时,它是在处理程序中传递的,而不是formContext,所以你应该尝试下面的代码:

function autosaveWhenFieldIsDirty(executionContext) {
var formContext = executionContext.getFormContext();

var isFieldDirty = formContext.getAttribute("logdate").getIsDirty();

var saveOptions = {
    saveMode: 70
};

if (isFieldDirty == true) {
    formContext.data.save(saveOptions).then(
        function(success) {
            console.log(success);
        },
        function(error) {
            console.log(error);
        }
    );
}

}

相关问题