Search code examples
javascriptdynamics-crmcrm

Getting lookup field value without specifying the name for onChange field event


I have a form, that could have Contact lookup field, or User lookup field, depending on the type of the person User wants to add. Only one of the fields is visible.

There is also Name text field, which I want to populate using name from lookup.

I want to add onChange function on lookup field to get the name and insert it in the Name field.

I know i can get field value like this:

Xrm.Page.getAttribute("ad_user").getValue();

But this way I would need to make separate functions for each field. Is there a way for field with onChange event to get its own value without quoting that fields name? Something like this:

this.getValue();

That way I could use the same function for both fields.


Solution

  • When registering the onChange event handler pass ExecutionContext as the first parameter. You can then get the input value like so:

    Event handler registration:

    enter image description here

    Handler:

    function foo_onChange(executionContext) {
       var inputValue = executionContext.getEventSource().getValue();
    }