2017-03-03 5 views
1

まず第一に、私は普通のブロガーではなく、私は混乱しています。私の質問がマークまでならば私を案内してください。私は改善しようとします。

Microsoft Code ReviewのMicrosoft CRMプラグインを提出しました。私はJavascriptで新しいです。私は彼らの側から特別にJava Scriptでいくつかの提案を得ました。

一部は以下のとおりです。どのような体は私を導くことができますか?

1-マイクロソフトのコメント: 'document.createElement(' script ')'は、CRMドキュメントオブジェクトモデル(DOM)のドキュメントオブジェクト関数を直接呼び出します。この方法は、Dynamics CRMのすべてのバージョンでサポートされていません。 Xrm.Pageクライアントオブジェクトモデルで提供されているサポートされているAPIを削除または置き換えます。 - コメント: 'document.body'はCRMドキュメントオブジェクトモデル(DOM)のドキュメントオブジェクトプロパティを直接呼び出します。この方法は、Dynamics CRMのすべてのバージョンでサポートされていません。 Xrm.Pageクライアントオブジェクトモデルで提供されているサポートされているAPIを削除または置き換えます。

.JSで私のコード(webresouceなど)ファイル:

var NewScript = document.createElement('script') 
NewScript.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js" 
document.body.appendChild(NewScript); 

2 - マイクロソフトのコメント: '$(文書)は、' 直接CRMのドキュメントオブジェクトモデル(DOM)の世界的なDOM関連の関数を呼び出します。この方法は、Dynamics CRMのすべてのバージョンでサポートされていません。 Xrm.Pageクライアントオブジェクトモデルで提供されているサポートされているAPIを削除または置き換えます。

.HTMLで私のコード(リソースなど)のファイル:

<script type="text/javascript"> 
    $(document).ready(function() { 
    //code 
    } 
</script> 

、3-マイクロソフトのコメント: '$(' #のbtnsaveは、 ')'(CRMのドキュメントオブジェクトモデルのグローバルDOM関連の関数を呼び出しますDOM)この方法は、Dynamics CRMのすべてのバージョンでサポートされていません。 Xrm.Pageクライアントオブジェクトモデルで提供されているサポートされているAPIを削除または置き換えます。

.HTML(リソースなど)ファイルでの私のコード:

<script type="text/javascript"> 
    function enableButton() { 
     $('#btnsave').attr('disabled', false); 
    } 
</script> 

答えて

0

まず第一に、あなたのポストは非常に紛らわしいです。あなたはCRM用にC#を使って開発されたPluginsを扱っていません。あなたはポイント1については、クライアント側のコード(JavaScriptの)

で作業しているようにする代わりに、それはそうです:注入jQueryの

述べたように、appendChildを使用すると、オンラインCRMではサポートされていません。この場合、おそらくjQueryをCRM Webリソースとして含めるべきです。その後、ポイント2に関してはフォームのプロパティ]ダイアログボックスを経由して、フォーム上の依存関係として

これを追加することができます:ドキュメントOnReady

document.onReadyは必要ありません。代わりに、CRMのフォームイベントからイベントをトリガする必要があります。

  • スイッチイベント]タブ
    1. 編集フォーム
    2. クリックしてフォームのプロパティは、フォームライブラリイベントハンドラセクションで
    3. にあなたのJavaScriptのWebリソースを追加し、フォームにコントロールを設定し、イベントをオンロード
    4. Webリソースを追加し、実行する関数名を指定してください
    ポイント3に関して

    - 第二の点について、あなたはDOM要素にアクセスすることによって、フィールドを無効にするべきではありません無効にコントロール

    (例えば、 $("#btsave"))、そのIDを持つCRM要素がないため、無効にしようとしていることは明確ではありません。

    サポートされているCRMフォームフィールドを無効にする方法は、XRM JavaScriptネームスペースを使用しています。例:Xrm.Page.getControl(arg).setDisabled(bool)

  • 関連する問題