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 в предварительном просмотре формы, но после публикации в действующей системе ошибка не возникает. Любые идеи?

Спасибо

Бретт


person Brett    schedule 03.06.2010    source источник
comment
Что вы имеете в виду под предварительным просмотром?   -  person Matt    schedule 03.06.2010


Ответы (2)


Переопределение SourceEvent не поддерживается для этого...

Вероятно, вам следует использовать событие fire OnChange в форме load с использованием (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

person BeardinaSuit    schedule 03.06.2010

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

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

person Pointy    schedule 03.06.2010
comment
MSCRM поддерживает только IE... так что это не должно быть проблемой. - person BeardinaSuit; 03.06.2010