CRM 2015(可能还有其他版本)似乎有如下错误:
onChange
处理程序注册的。结果是该字段的onChange
处理程序未被触发。
如何以受支持的方式解雇未击中的onChange
处理程序?
如果它存在则调用它:
document.getElementById("field1").onchange=function() { console.log("change handler called") }
document.getElementById("form1").onsubmit=function() {
this.querySelectorAll("input").forEach(function(fld) {
if (fld.onchange) fld.onchange();
})
}
<form id="form1">
<input type="text" id="field1" />
<input type="submit" />
</form>
接得好。这应该通过用户培训来解决。否则我们必须通过捕获和完成preventDefault
事件的onSave
,检查属性的isDirty
,然后fireOnchange
然后显式保存事件触发器来规避。
正如documentation所说,焦点必须失去onChange
触发:
OnChange事件发生在以下情况: •表单字段中的数据已更改且焦点丢失。