如何解决设置字段级通知后,Dynamics 365 自定义 javascript 不会执行保存
当字段中的数据无效时,我设置了字段级通知。然后我将数据更改为有效但因为我设置了 onSave 通知不会被触发。
function ValidateFields(executionContext) {
console.log("Init");
var formContext = executionContext.getFormContext();
var bfenummer_value = formContext.getAttribute("kk_ejerlav").getValue();
var bfenummer_control = formContext.getControl("kk_ejerlav");
var bfenummer_uniqueid = "bfenummer";
if(!isNumeric(bfenummer_value))
{
bfenummer_control.setNotification("Angiv et tal mellem -2147483648 og 2147483647",bfenummer_uniqueid);
console.log("Set " + isNumeric(bfenummer_value));
// setTimeout(function () {
// bfenummer_control.clearNotification(bfenummer_uniqueid);
// console.log("Clear " + isNumeric(bfenummer_value));
// },1000);
}
else {
bfenummer_control.clearNotification(bfenummer_uniqueid);
console.log("Clear " + isNumeric(bfenummer_value));
}
}
function isNumeric(value) {
return /^-?\d+$/.test(value);
}
解决方法
您需要在 OnChange 事件上为“kk_ejerlav”字段运行一个函数。
像这样:
function ejerlavChanged(executionContext){
var formContext = executionContext.getFormContext();
var bfenummer_value = formContext.getAttribute("kk_ejerlav").getValue();
var bfenummer_control = formContext.getControl("kk_ejerlav");
var bfenummer_uniqueid = "bfenummer";
if(isNumeric(bfenummer_value)){
bfenummer_control.clearNotification(bfenummer_uniqueid);
console.log("Clear " + isNumeric(bfenummer_value));
}
}
function isNumeric(value) {
return /^-?\d+$/.test(value);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。