4

私は Dynamics CRM 2011 Online を使用しており、見積もり > 製品の追加ページで動作するコードをリファクタリングして、注文 > 製品の追加でも動作するようにしようとしています。問題は、ページの読み込み時に「未定義または null 参照のプロパティ 'getValue' を取得できません」というエラーが表示されることです。

私は IE コンソールに入り (IE 9 と 10 の両方を試しました)、問題のある行と思われるものを入力しました:

Xrm.Page.getAttribute('ati_clin').getValue()

「オブジェクトはプロパティまたはメソッド「getAttribute」をサポートしていません」と不平を言います。私も試しました

document.getElementById('ati_clin')

しかし、それも失敗します。

開発者コンソールの HTML ビューを使用してページ上のオブジェクトを見つけることができ、それが明らかにそこにあるため (タイプミスもありません)、これは私には意味がありません。一方のページは実行時に適切に実行され、もう一方のページは正しく実行されないにもかかわらず、両方のページのコンソールでこのステートメントが失敗することも意味がありません。少なくとも、実行時に機能するページで機能するべきではありませんか?

いくつかの調査を行った後、次の投稿が最も関連性があると思いますが、私がこれにどれほど慣れていないかを考えると、答えにつながらないではないかと心配しています: Xrm.Page.data is null

私の質問は、要素が明らかに存在する場合、コンソールがこのエラーを返すのはなぜですか?

4

1 に答える 1

3

このような問題をデバッグするときの便利なトリック:

Xrm.Page オブジェクトは、フレームのコンテキストに存在します。デバッグ モードで中断せずに IE 開発者ツールでコンソールを使用する場合は、最初にページ上のフレームをポイントする必要があります。

例:

frames[0].Xrm.Page.getAttribute('ati_clin').getValue()
于 2012-10-16T18:28:29.773 に答える