1

私はJScriptにあまり熟練していませんが、フォームがロードされたときに実行されるはずの関数webResource内に次のコードを記述しました(OnLoad)

var creationDateName = "createdon";
var today = new Date();
var creationDateAttr = Xrm.Page.getAttribute(creationDateName);
if(creationDateAttr!=null)
{
  /* Some more code */
}

問題は、フィールドに値がある場合に Xrm.Page.getAttribute(creationDateName) が null を返すことです (フィールドはフォームに表示されていませんが、検索すると値があります)。おかしなことに、私のテスト組織では同じコードが魔法のように機能しましたが、それをコピーして本番組織に貼り付けてソリューションをリリースすると、適切に機能せず、それが私を混乱させます。何が起こっているのでしょうか?

4

3 に答える 3

4

フィールドの値を返すには、getValue を使用する必要があります。コードは、フィールドがページに存在することを確認しているだけです。

また、作成モードではこれらの値が設定されていないため、取得できないことにも注意する必要があります。更新モードでは機能します。そのため、ページも更新モードであることを確認する必要があります。

var formType = Xrm.Page.ui.getFormType();

if (formType === 2) // Update
{
    var creationDate = Xrm.Page.getAttribute(creationDateName).getValue();
}
于 2014-12-15T17:50:42.860 に答える
2

値ではなく属性を提供します..

値を取得するには、以下のようにコードを書く必要があります

var creationDateAttr = Xrm.Page.getAttribute(creationDateName);
var valueDateAttr=creationDateAttr.getValue();

また

var creationDateAttrValue = Xrm.Page.getAttribute(creationDateName).getValue();

これが役立つことを願っています

于 2014-12-16T04:53:45.190 に答える