onChange catolog client script is not working on RITM form

mdsannavulla
Kilo Guru

Hi All,

I have written below script to auto populate one field, "onChange" of another field. It is working fine on catalog form but it is not working on RITM form.

function onChange(control, oldValue, newValue, isLoading) {

    if (isLoading || newValue == '') {

          return;

    }

  var val = g_form.getReference('user',pop);

  function pop(val)

  {

  alert("inside fun");

  g_form.setValue('region',val.email);

  }

   

}

Please try this and let me know if you have any solution for this

1 ACCEPTED SOLUTION

mdsannavulla
Kilo Guru

I raised a ticket for this issue in HI instance and they provided the solution like below



if (typeof g_sc_form != "undefined")


var val = g_sc_form.getReference('user',pop);


else


  var val = g_form.getReference('user',pop);



I tried this and it is working perfectly....


View solution in original post

17 REPLIES 17

I am not sure whether OOB issue, but was facing the same.


Finally closed it by creating a onload client, with a condition catalog item name.


If I written onLoad client script means it works on On load of the form only right ? but I want this script to be run on onChange of the field. Is this possible in any other way?


TJW2
Mega Guru

Is the script running at all?   Add an alert in the beginning of the script to see if it is running on the RITM.



Note:   If another UI Policy or Client Script fails on the RITM, this CS may NOT be executed.


No, it is not going inside the function...


Are you expecting it to run as soon as you load the form? If so, you can try the following:



function onChange(control, oldValue, newValue, isLoading) {


    if (newValue == '') {


          return;


    }



  var val = g_form.getReference('user',pop);


  function pop(val)


  {


      alert("inside fun");


      g_form.setValue('region',val.email);


  }


   


}



Thanks,


Berny