Dynamic 给页面字段绑定Click事件

一、由于Dynamic也是在浏览器上运行的,所以页面源码为html,故我们可以通过js去给对应的标签找到对应的字段绑定click事件

 

二、在绑定之前我们需要找到ifram页面的id,这里有个坑,ifram页面需要找第一次进入页面的名称,和刷新页面后的名称,两个名称的区别在id后面的数字不一样,我遇到过这样的问题,首次进入页面,页面由0和1两个ifram页面,刷新页面之后0和1的id进行互换,变成了1和0,导致我首次进入页面可以正常触发信息,刷新后功能失常!

 

三、对应的代码(//该放法需要在页面加载时调用)

function openCreditAudit() {
    if (!Xrm.Page.data.entity.getId())
        return;
    //页面默认进入为1,刷新后为0
    var data = "";
    //contentIFrame0,ifram名称,new_credit_auditid字段名称
    if (window.top.document.getElementById("contentIFrame0").contentWindow.document.querySelector("#new_credit_auditid")) {
        data = window.top.document.getElementById("contentIFrame0").contentWindow.document.querySelector("#new_credit_auditid")
    }
    else {
        data = window.top.document.getElementById("contentIFrame1").contentWindow.document.querySelector("#new_credit_auditid")
    }
    data.addEventListener('click', function (e) {
            //逻辑代码块
        }
            , {
                passive: false,
                capture: true,
                once: false
            }
        );
}
原文地址:https://www.cnblogs.com/LanHai12/p/15257916.html