2016-10-13 8 views
0

新しいバージョンの新しいレンダリングエンジンにより、crm 2011をcrm 2016 onpremiseにアップグレードしています。そのため、多くのJavaScriptコードが機能しません。最近、iframeでiframeの内容にアクセスできないという問題がJQueryを使用して発生しています。crm 2016フォームのIframeコントロールにアクセスできない

var ccControl = $("#WebResource_ccCheckList").contents().find(":checkbox"); if(ccControl) { //Business Logic }

私がアクセスしたい要素が 'myChckboxId' のidを持つHTML入力です: あなたが同意しますか? ReferenceErrorを取得しています: '$'は未定義ですが、$ referenceはIFrameでスクリプト化されていても問題ありません。 私のために修正しても機能しない回避策を試してみました。

1)次のスクリプトをonloadに置きます。

if (typeof($) === 'undefined'){ var script = document.createElement('script'); script.src = 'ajax.googleapis.com/.../jquery.min.js'; script.async = false; document.head.appendChild(script);}

2) $(Xrm.Page.ui.controls.get('WebResource_ccCheckList').getObject()).contents().find(':checkbox').val(); Xrm.Page.ui.controls.get( 'WebResource_ccCheckList')。のgetObject()は私OBJを与えなく$で動作しています。ヌル取得

3) Xrm.Page.ui.controls.get("WebResource_ccCheckList").getObject().contentWindow.document.getElementById('myChckboxId');

問題を解決するための任意の代替アプローチを提案してください。 jQueryのは、まだそこにある

答えて

0

、それはちょうどあなたの上だ

ありがとう:

$ = ($ || parent.$); 
// Now you have $ 
+0

必須警告:DOMを操作することは良いアイデアになることはありません(更新ごとにコードを最初から書き直すことが必要になる場合があります) – Alex

関連する問題