2010-06-03 5 views
0

J'ai un événement onChange qui continue d'afficher l'erreur ci-dessous chaque fois que je l'ai prévisualisé.MS Dynamics CRM 4.0 - Erreur d'événement onChange

« objet ne marche pas 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 s'est produit sur quelques événements onChange dans l'aperçu du formulaire, mais une fois publié sur le système en direct, il ne génère pas d'erreur. Des idées?

Merci

Brett

+0

Que voulez-vous dire quand vous par "preview" il? – Matt

Répondre

0

Redéfinition SourceEvent n'est pas la voie prise en charge de le faire ...

Vous devriez probablement utiliser le feu de l'événement dans le OnChange sous forme de charge en utilisant (if (crmForm.all.yourLookup) { crmForm.all.yourLookup.FireOnChange();} et dans le cas javascript de champ onChange écriture de 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; 

noter que la modification de l'élément CSS d'affichage n'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/software/aspnet/31267662/hide-lookup-based-on-pick.aspx

0

Cela signifie probablement que forment soit des éléments avec les « id » valeurs que vous attendez n'existent réellement, ou que vous avez utilisé une valeur « id » plus qu'une seule fois.

En outre: cette façon d'accéder aux éléments ne fonctionnera que dans IE. Peut-être que ce que vous voulez, mais vous pouvez le faire fonctionner dans d'autres navigateurs en utilisant document.getElementById()

+0

MSCRM prend uniquement en charge IE ... cela ne devrait donc pas poser de problème. – BeardinaSuit

Questions connexes