Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

making ui reference fields readonly or disabled

yundlu316
Kilo Guru

Hi Experts,

I'm building an UI Page with a couple ui reference fields that I want to make readOnly or disabled unless another field has been checked.   I'm trying to do this with javascript:

if (document.getElementById("my_plan").checked){

  document.getElementById('b_plan_name').readOnly = false;

  document.getElementById('b_plan_name').style.backgroundColor   = '#fff' ;

  } else {

  document.getElementById('b_plan_name').readOnly = true;

  document.getElementById('b_plan_name').style.backgroundColor   = '#ddd' ;

  }

This code seems to work with other input fields but does not work with ui reference fields.   Is there a way to do this?  

Thanks!

6 REPLIES 6

sachin_namjoshi
Kilo Patron
Kilo Patron

Hi David,



Please modify your code below



if (document.getElementById('my_plan').checked){


  document.getElementById('b_plan_name').readOnly = false;


  document.getElementById('b_plan_name').style.backgroundColor   = '#fff' ;


  } else {


  document.getElementById('b_plan_name').readOnly = true;


  document.getElementById('b_plan_name').style.backgroundColor   = '#ddd' ;


  }


Hi Sachin, is the only difference in the code replacing double quotes with single?   If so, I've tried that and it doesn't seem to make a difference.   Thanks!


Sorry, My bad David,


You need to use document.getElementsByName('my_plan')[0].value to get reference field value in UI page client script.



Regards,


Sachin




Hey Sachin, I just tried the below code, but it still doesn't work.   Thanks!



if (document.getElementsByName('my_plan')[0].checked){


  document.getElementById('b_plan_name').readOnly = false;


  document.getElementById('b_plan_name').style.backgroundColor   = '#fff' ;


  } else {


  document.getElementById('b_plan_name').readOnly = true;


  document.getElementById('b_plan_name').style.backgroundColor   = '#ddd' ;


  }