1

我必须使用相同的功能(通过OnChange事件调用)两个领域,我不知道是否有到该字段的值传递给JavaScript函数(用于验证)的选项,而不使用XRM。我可以传值js函数从CRM领域

写与Xrm.Page.getAttribute("field").getValue();功能 - 是我唯一的选择?

我必须写两个不同的功能调用同一个函数的两个不同的领域?

+0

如果我理解正确的问题,你可以通过'this'作为参数传递给函数的onChange。然后,'this'关键字将引用发生更改的元素。 – Olian04

+0

@ Olian04是的这是正确的 – Damkulul

回答

1

从CRM的形式控制的角度来说,你可以有一个包含以下通用定义库功能。

function generic_onchange(execContext){ 
    var myControl = execContext.getEventSource().getName(); 
    var myControlValue = execContext.getEventSource().getValue(); 
} 

在配置onchange事件的上述功能这两个控件,选中复选框“通过执行上下文作为第一个参数”。

更新:
当使用addOnChange将函数附加到事件时,执行上下文作为第一个参数默认传递。

Reference

的功能将被添加到该事件处理管道的底部。执行上下文自动设置为传递给事件处理程序的第一个参数。

+1

尼斯,在我的项目,我们使用的是addOnChange(),而不是通过CRM用户界面,我应该怎么用的execContext或者它是一个正规的语法? – Damkulul

+0

查看我更新的答案。 –

1

如果我得到你的问题的权利,不是这可能是你正在寻找:

function eventHandler(obj) { 
 
    alert(obj.value); 
 
}
<input type="text" placeholder="one" onChange="eventHandler(this)"> 
 
<input type="text" placeholder="two" onChange="eventHandler(this)">

+1

它适用于CRM代码吗? – Damkulul