Получение идентификатора кнопки ленты в CRM 2011 - PullRequest
1 голос
/ 18 апреля 2011

Я создал один javascript, в котором я хочу скрыть кнопку ленты Reactivate Lead в зависимости от некоторых условий.

Я получил идентификатор кнопки, нажав F12 в форме, которая lead|NoRelationship|Form|Mscrm.Form.lead.ReactivateLead-Large.

В jscript, чтобы получить эту кнопку -

document.getElementById("lead|NoRelationship|Form|Mscrm.Form.lead.ReactivateLead-Large");

, но я не получаю эту кнопку, она дает мне ноль ... Я не понимаю, в чем проблема.пожалуйста, дайте мне знать, если у кого-нибудь есть предложения.

спасибо

Ответы [ 5 ]

3 голосов
/ 21 октября 2011

Причина, по которой вы получаете нулевое значение, заключается в том, что меню ленты отображается асинхронно.Поэтому, если вы попытаетесь получить кнопку, когда сработало событие onload формы, кнопка не обязательно будет уже в DOM.

Ссылка, предоставленная Люком, покажет вам правильный способ сделать это.

2 голосов
/ 27 октября 2011

Это должно сработать, но, возможно, вам придется держать нос во время использования

function HideARibbonButton(nameOfButton) {
    var intervalId = window.setInterval(function () {
        if (window.top.document.getElementById(nameOfButton) != null) {
            window.clearInterval(intervalId);

            //top menu has loaded
            window.top.document.getElementById(nameOfButton).style.visibility = 'hidden';
        }
    }, 100);
}
2 голосов
/ 19 апреля 2011

Вы можете скрыть кнопки в CRM2011, изменив XML настроек Entity.

Посмотрите на это: http://gtcrm.wordpress.com/2011/02/23/hiding-a-ribbon-button-in-crm-2011/

1 голос
/ 03 октября 2011

Я также обнаружил, что если вы не используете window.top до document.., это не всегда работает.

Мой код всегда начинается с window.top.document и т. Д.

см. Ниже:

tabSave = window.top.document.getElementById("salesorder|NoRelationship|Form|Mscrm.Form.salesorder.MainTab.Save");
0 голосов
/ 31 января 2013

Вы получаете нулевое значение, потому что отображение ленты занимает некоторое время, поэтому вам нужно установить интервал (например, код, который будет выполняться каждые 2 секунды), в котором вы размещаете свой код, который будет скрывать кнопку.

Или вы можете отобразить правило, управляющее видимостью кнопки, в зависимости от логического значения, возвращаемого функцией java-скрипта

...