gpt4 book ai didi

javascript - Dynamics CRM -- 在表单脚本中处理 onLoad 与 OnSave 事件

转载 作者:行者123 更新时间:2023-12-03 06:22:36 28 4
gpt4 key购买 nike

我为自定义实体创建了一些代码,涉及动态显示的问题以及回答这些问题的能力。我正在努力能够显示以前回答的问题以及更新答案的能力。为此,我让某些函数触发自定义实体表单的 onLoad,并触发另一个函数 onSave。

我的问题是,每次保存发生时,我的 onLoad 代码都会运行,从而有效地删除 onSave 代码的输出。我只希望我的 onLoad 代码在第一次加载表单时运行。否则,我想要触发 onSave 的代码应该处理其他所有事情。

我尝试解决此问题的一种方法是使用 Xrm.Page.ui.getFormType(); 这将返回值 1 或 2,其中 1 对应于正在创建的记录,2 对应于到正在更新的记录。这适用于一种情况 - 我不希望在创建自定义实体的新记录时运行 onLoad 代码,而 getFormType() 解决了这个问题。但是当我保存记录时,返回值发生了变化,导致我的 onLoad 代码运行 OnSave,这把事情搞砸了。

关于如何解决这个问题有什么想法吗?我可以预见像 getFormType() 这样的东西很有用,但我对如何处理事情有点茫然。谢谢!

最佳答案

向modifiedon属性添加一个onChange事件处理程序,该值仅在保存记录后才会更改,您可以拥有一个全局参数并设置其值,并使用其值来阻止onLoad再次重新触发。

var canRunOnLoadCode = true;

//form onLoad function
function onLoad() {
if(!canRunOnLoadCode) return;
//on load code below
}

//register the below function on change of modified on
function afterOnSave(){
canRunOnLoadCode = false;
}

关于javascript - Dynamics CRM -- 在表单脚本中处理 onLoad 与 OnSave 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38796680/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com