2010-03-22 3 views
1

Je dois définir la valeur d'un champ dans un formulaire via JavaScript. La source des données provient d'une autre source, via un IFRAME. Je suis en ce code dans le onload de la page ASPX dans le IFRAME:Comment définir DataValue d'un contrôle sur un nombre dans MS Dyanamics CRM 4.0?

// Get value from source 
var currencyText = document.getElementById("contractValue").value; 

// Convert that value to a number, stripping out non-number characters. 
var currencyNumber = new Number(currencyText.replace(/[^0-9\.]+/g,"")); 

// Set the value in the CRM field. 
parent.crmForm.all.targetCurrencyField.DataValue = currencyNumber; 

Quand je fais cela je reçois un message « Ce contrôle accepte uniquement les numéros ou nulle en entrée ». Quelle est la manière acceptable de charger une valeur dans un champ de devise dans MS CRM?

Répondre

1

Essayez plutôt

//strip non numeric characters from currencyText 
parent.crmForm.all.targetCurrencyField.DataValue = parseInt(currencyText) 
+0

Cela a fonctionné, mais je l'ai changé parseFloat pour vous assurer que j'ai capturé les cents. Une idée de pourquoi cela fonctionne, mais le nouveau numéro() ne fonctionne pas? –

+0

Vous ne vouliez pas new Number() car cela créait réellement un objet. Vous auriez pu faire parent.crmForm.all.targetCurrencyField.DataValue = Number (currencyText) à la place. –

Questions connexes