1

동일한 함수 (OnChange 이벤트 호출)를 사용하는 두 개의 필드가 있는데, 해당 필드의 값을 (유효성 검사를 위해) javascript 함수에 전달할 수있는 옵션이 있는지 궁금합니다. XRM을 사용합니다.crm 필드에서 js 함수에 값을 전달할 수 있습니까

내가 가진 유일한 옵션은 Xrm.Page.getAttribute("field").getValue(); 인 기능을 작성 하시겠습니까?

동일한 기능을 호출하는 두 개의 서로 다른 필드에 두 개의 다른 기능을 작성해야합니까? 내가 질문 권리를 얻는 경우에

+0

질문을 올바르게 이해하고 있다면 onChange 함수에 인수로 this를 전달할 수 있습니다. 'this' 키워드는 변경이 발생한 마녀의 요소를 나타냅니다. – Olian04

+0

@ Olian04 맞음 – Damkulul

답변

1

, 당신은 일반 아래에 들어있는 정의 된 라이브러리를 가질 수 있습니다 기능. 위의 함수를 사용하여 두 컨트롤의 onchange 이벤트를 구성 할 때

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

은 체크 박스 "첫 번째 매개 변수로 패스 실행 컨텍스트"를 선택합니다.

업데이트 :
addOnChange을 사용하여 이벤트에 함수를 연결하면 실행 컨텍스트가 Default로 첫 번째 매개 변수로 전달됩니다.

Reference

함수

이벤트 핸들러 파이프 라인의 하부에 추가된다. 실행 컨텍스트는 자동으로 이벤트 처리기에 전달 된 첫 번째 매개 변수로 설정됩니다.

+1

니스, 내 프로젝트에서 우리는 addOnChange()를 사용하고 있으며, CRM UI가 아닌, 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)">
CRM 폼 컨트롤 관점에서

+1

CRM 코드에 적합합니까? – Damkulul