javascriptdynamics-crmonchangehidden-fields

MS Dynamics CRM 4.0 - onChange event error


I have an onChange event that keeps bringing up the error below whenever I preview it.

'Object doesnt support this property or method'

I have the onChange event associated with a picklist and when a specific option is selected another field is unhidden.

The code is below:

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

Would be great if someone could let me know why this error is showing up?

Also, this has happened on a few onChange events on the form preview but once published onto the live system it does not error. Any ideas?

Thank you

Brett


Solution

  • Overriding SourceEvent is not the supported way of doing that...

    You should probably use the fire the OnChange event in the form load using (if (crmForm.all.yourLookup) { crmForm.all.yourLookup.FireOnChange();} and in the field's javascript onChange event write something like

    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;
    

    note that changing the Display CSS element is not supported, but it's the only way of doing that, without writing your own ASPX page.

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