Кастомизация
14
Янв
0

Клик на флажке

Как Вы наверное уже заметили, в CRM клик на флажке не вызывает срабатывания события onChange. Оно происходит только после смены фокуса с флажка.

Чтобы исправить это поведение, создайте JS Веб-ресурс с таким кодом:

function registerCheckboxClick(attr) {
    var ctrl = Xrm.Page.ui.controls.get(attr);
    var a = ctrl.getAttribute();
    var el = document.getElementById(attr);

    // Функция, которая будет срабатывать при клике на флажке
    var f = "var ef=function() { " +
    "var a = Xrm.Page.data.entity.attributes.get(attr); " +
    "a.setValue(!a.getValue()); " +
    "a.fireOnChange(); " +
    " };";
    eval(f);

    // Добавляем функцию к событию клика
    el.attachEvent('onclick', ef, false);
}

Повесьте на чекбокс нужную Вам бизнес-функцию. А на онлоаде формы вызовите функцию registerCheckboxClick и передайте ей имя чекбокса.



Комментарии (0)

*

code