Dynamics 365 Form js控制

//字段:new_formnote
var new_formnoteObj = document.querySelector("[name='new_formnote']");   //字段组件
var new_formnoteDiv = new_formnoteObj.closest('div[data-editorblocktype]');  //字段+标题组件
let new_formnote = document.getElementsByName('new_formnote')[0];  //字段


//第一个字段:new_formnote
new_formnoteObj.addEventListener('change', function () {   //字段new_formnote变化的时候

    if (new_formnote && new_formnote.value) {
        //有值,显示下面的字段:
        new_formnoteDiv1.style.display = "flex"
        setSingleRequired(new_formnoteObj1, true);
    }
    else {
        //隐藏:
        new_formnoteDiv1.style.display = "none"
        new_formnoteDiv2.style.display = "none"
        new_formnoteDiv3.style.display = "none"
        new_formnoteDiv4.style.display = "none"
        //非必填
        setSingleRequired(new_formnoteObj1, false);
        setSingleRequired(new_formnoteObj2, false);
        setSingleRequired(new_formnoteObj3, false);
        setSingleRequired(new_formnoteObj4, false);
        //清空值
        new_formnote1.value = null;
        new_formnote2.value = null;
        new_formnote3.value = null;
        new_formnote4.value = null;
    }
});



//判断下拉的值
let new_option = document.getElementsByName('new_option')[0]
if (new_option && (new_option.value == 10 || new_option.value == 20)) {
    //...
}
//显示:
new_formnoteDiv.style.display = "flex"
//隐藏:
new_formnoteDiv.style.display = "none"
//必填:
setSingleRequired(new_formnoteObj,true);
//非必填:
setSingleRequired(new_formnoteObj, false);






//设置是否必填
function setSingleRequired(element, required) {
    if (required) {
        element.setAttribute('required', 'required');
        const parentDiv = element.closest('div[data-editorblocktype]');
        if (parentDiv) parentDiv.setAttribute('data-required', 'required');
    } else {
        element.removeAttribute('required');
        const parentDiv = element.closest('div[data-editorblocktype]');
        if (parentDiv) parentDiv.removeAttribute('data-required');
    }
}


//截取url中的参数
function getQueryString(name) {
    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i')
    var r = window.location.search.substr(1).match(reg)
    if (r != null) return unescape(r[2])
    return null
}

 多选控制:

      let productContextParam = getQueryString('product_context');
      let productCheckboxes = document.querySelectorAll('input[name="new_productofinterest"]');

      if (productContextParam && productCheckboxes.length > 0) {
        let selectedProducts = productContextParam.split(',');

        productCheckboxes.forEach(checkbox => {
          checkbox.checked = false;
          if (selectedProducts.includes(checkbox.value)) {
            checkbox.checked = true;
          }
        });
      }

 

访问Form地址,增加#d365mkt-nocache可以无缓存访问

#d365mkt-nocache

 

posted @ 2025-04-17 15:29  溜溜球_小钢wan  阅读(39)  评论(0)    收藏  举报