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()