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