MS Dynamics CRM 4.0 - ошибка события onChange

У меня есть событие onChange, которое продолжает выводить сообщение об ошибке ниже при каждом его предварительном просмотре.

"Объект не поддерживает это свойство или метод"

У меня есть событие onChange, связанное с списком выбора, и когда выбран определенный параметр, другое поле не отображается.

Код ниже:

в процессе:

//If How did you hear about us is set to event show the Source Event lookup
crmForm.SourceEvent = function SourceEvent() 
{
if (crmForm.all.gcs_howdidyouhearaboutus.DataValue == 5)
{
crmForm.all.gcs_sourceeventid_c.style.display = '' ;
crmForm.all.gcs_sourceeventid_d.style.display = '' ;
}
else
{
crmForm.all.gcs_sourceeventid_c.style.display = 'none' ;
crmForm.all.gcs_sourceeventid_d.style.display = 'none' ;
}
}
crmForm.SourceEvent() ;

по изменению

crmForm.SourceEvent() ;

Было бы здорово, если бы кто-то мог сообщить мне, почему эта ошибка появляется?

Кроме того, это произошло с несколькими событиями onChange в предварительном просмотре формы, но после публикации в действующей системе это не приводит к ошибке. Есть идеи?

Спасибо

Brett

2 ответа

Решение

Переопределение SourceEvent - не поддерживаемый способ сделать это...

Вы, вероятно, должны использовать огонь OnChange событие в форме загрузки с использованием (if (crmForm.all.yourLookup) { crmForm.all.yourLookup.FireOnChange();} и в полевом JavaScript onChange событие напиши что-то вроде

var displayStyle = (crmForm.all.cf_picklist.DataValue == "3") ? "none" : "";
crmForm.all.cf_lookupid_d.style.display = displayStyle;
crmForm.all.cf_lookupid_c.style.display = displayStyle;

обратите внимание, что изменение элемента Display CSS не поддерживается, но это единственный способ сделать это без написания собственной страницы ASPX.

ссылка: http://www.eggheadcafe.com/software/aspnet/31267662/hide-lookup-based-on-pick.aspx

Это, вероятно, означает, что либо элементы формы с ожидаемыми значениями "id" на самом деле не существуют, либо что вы использовали значение "id" более одного раза.

Кроме того: такой способ доступа к элементам будет работать только в IE. Может быть, это то, что вы хотите, но вы можете заставить его работать в других браузерах с помощью document.getElementById()

Другие вопросы по тегам