Monday, April 13, 2009

Скрытие элементов формы редактирования MS CRM

Поставили задачу следующего рода - необходимо скрывать меню Действия (Actions) в некотором перечне карточек. Недолго мудрствуя полез в Гугл и нашёл там решение следующего рода:

var lis = document.getElementsByTagName('LI');
var i = 0;
while (i < lis.length) {
if (lis[i].getAttribute('title') == 'Actions' || lis[i].getAttribute('title') == 'Действия' || lis[i].getAttribute('title') == 'Дії')
{
lis[i].outerHTML='<SPAN></SPAN>'
}
i = i + 1;
}

Решение нормально работало, пока пользователи работали с английским интерфейсом. После того, как интерфейс был изменён на русский или украинский при попытке изменить размер формы вылезла такая проблема: сразу после попытки изменить размеры формы - в левом углу формы появлялось сообщение об ошибке на странице, а при закрытии формы - появлялся диалог о том, что при работе страницы возникла ошибка такого вида:



Выход был опять таки найден при помощи гугла, заключался он в изменении используемого скрипта на такой:

var actButton = document.getElementById('action');
actButton.style.display = 'none';
window.onresize = function(){
actButton.style.display = 'none';
};