MS Dynamics CRM 4.0 - erreur d'événement onChange
-
24-10-2019 - |
Question
J'ai un événement onChange qui continue à présenter l'erreur ci-dessous chaque fois que je le prévisualiser.
« ne marche pas objet en charge cette propriété ou méthode »
Je l'événement onChange associé à une liste de sélection et quand une option spécifique est sélectionné un autre champ est unhidden.
Le code est ci-dessous:
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() ;
Si quelqu'un pouvait me le faire savoir pourquoi cette erreur montre jusqu'à?
En outre, cela se produit sur quelques événements onChange sur la forme aperçu, mais une fois publié sur le système en direct, il ne l'erreur. Toutes les idées?
Merci
Brett
La solution
Redéfinition SourceEvent est pas la façon prise en charge de le faire ...
Vous devriez probablement utiliser le feu l'événement OnChange
dans la charge de formulaire à l'aide (if (crmForm.all.yourLookup) { crmForm.all.yourLookup.FireOnChange();}
et en cas de onChange
javascript de champ écrire quelque chose comme
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;
Notez que la modification de l'élément CSS Display est pas pris en charge, mais il est la seule façon de le faire, sans écrire votre propre page ASPX.
ref: http: // www .eggheadcafe.com / logiciel / aspnet / 31267662 / cache-recherche basée sur-pick.aspx
Autres conseils
Il a probablement signifie que soit les éléments de forme avec la valeur « id » valeurs que vous attendez n'existent réellement, ou que vous avez utilisé un « id » plus d'une fois.
En outre: cette façon d'accéder à des éléments ne fonctionne que dans IE. Peut-être que ce que vous voulez, mais vous pouvez le faire fonctionner dans d'autres navigateurs en utilisant document.getElementById()