2

crm2011 連絡先フォームに JavaScript Web リソースがあります。フォームのフォーム プロパティで、Form_onload()以下の関数を OnLoad イベント ハンドラに追加しました。デバッグすると、Form_onload() メソッドが起動されて実行されていることがわかります。

ただし、携帯電話番号を編集しようとしてフィールドの外をクリックすると、何も表示されません。デバッグすると、mobilephone_OnChange()メソッド内のブレークポイントがヒットせず、単に何もしません。

function Form_onload()
{
Xrm.Page.getAttribute("mobilephone").fireOnChange();
}


function mobilephone_OnChange()
{
alert("fire away");
}

私がやりたいことは、mobilephone_OnChange()関数内で小さなアラートを取得することだけです。

私はもう何をすべきか真剣に知りません。.fireOnChange()宣言されたすべての OnChange イベントを自動的に結び付けるという記事をたくさん読んだことがあります。ただし、これは機能しないようです。

4

2 に答える 2

5

これを試して:

Xrm.Page.getAttribute("mobilephone").addOnChange(this.mobilephone_OnChange);

js ファイルの構造によっては、「this」が js クラスの名前になる場合があります。

また、Javascript でプログラムによってフィールドを更新する場合、onChange イベントは自動的に発生しないことに注意してください。(ただし、FireOnChange() を介して行うことができます)

于 2013-07-24T16:15:46.137 に答える
4

私はあなたがこれを間違った方法で持っていると思います。

fireOnChange変更イベントで関数を登録しません。登録された関数を起動するイベントを作成します。

UI を介して、またはプログラムでaddOnChangeを使用する場合は、 mobilephone_OnChange() をフィールドに登録する必要があると思います。

于 2013-07-24T15:21:16.980 に答える