2016-06-16 20 views
0

CRMモーダルを開くエンティティフォームにボタンがあります。私はそのモーダル内部のIFrameからデータを生成する必要があります。私は多くの方法を試しました。 IFrame htmlにClientGlobalContext.js.aspxリファレンスを含めました。また試しましたポップアップで親フォームからデータを取得するCRM Dynamics 2015

$.each(parent.window.frames, function (i, val) { 
       if (parent.window.frames[i].Xrm.Page.data.entity != null) { 
}); 

window.parent.Xrm.Page ... 
window.top.opener.frames[0].Xrm.Page... //here window top opener is null 

window.parent.opener.crmForm.all.name.DataValue //window parent opener is null 

他にもオプションはありますか?

答えて

0

モーダルの作成方法を表示できますか?これはjQuery-UIスタイルのモーダルで、pageやwindow.showModalDialog(廃止予定)のようなフレームを挿入しますか?

同じ 'トップ'フレームのどこかにダイアログがあると仮定すると、これがどのように処理されます。アカウントレコードにフォームスクリプトがあるとします。

// Return some data from the form 
function ISV_GetAccountData(){ 
    return { 
    Name: Xrm.Page.getAttribute('name').getValue() 
    }; 
} 

// Runs onload 
function ISV_Account_Form_onload{ 
    // Define my function on the top window 
    top.ISV_GetAccountData = ISV_GetAccountData; 
} 

はその後、私のインラインフレームに私が呼ぶでしょう:私のonload関数の中で、私はISV_Account_Form_onloadを設定し

var accountData = top.opener.top.ISV_GetAccountData(); 

:これはまた、ポップアップウィンドウから作業することができます

var accountData = top.ISV_GetAccountData(); 

簡潔にするために、フォームがアンロードされるときに関数のクリーンアップを除外し、呼び出し前に関数が定義されていることを確認した。

関連する問題