2

我在 crm2011 联系表格中有一个 javascript 网络资源。在表单的表单属性下,我将以下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不会在 on change 事件上注册函数 - 它会创建一个事件,该事件将触发任何已注册的函数。

我认为您需要做的是通过 UI 或者如果您想以编程方式使用addOnChange将 mobilephone_OnChange() 注册到该字段。

于 2013-07-24T15:21:16.980 回答