MS Dynamics CRM 4.0 - ошибка события onChange - PullRequest
0 голосов
/ 03 июня 2010

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

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

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

Код ниже:

OnLoad:

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

OnChange

crmForm.SourceEvent() ;

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

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

Спасибо

Brett

Ответы [ 2 ]

0 голосов
/ 03 июня 2010

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

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

ref: http://www.eggheadcafe.com/software/aspnet/31267662/hide-lookup-based-on-pick.aspx

0 голосов
/ 03 июня 2010

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

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

...