Not able to add background colour for the field

Sanel
Tera Expert

Hi all,

I have a choice field which has four values 'Low,medium,high,critical', as per the value selected I have to display background colour in that field.I have Configured styles accordingly but still it doesnt show the background colour.

Can anyone just help me figure out what might be the issue?

find_real_file.png

find_real_file.png 

1 ACCEPTED SOLUTION

Hi @Sanel ,

I am back with some information for you.The problem you are facing in the client script is because you have marked the field read only via dictionary entry.

 

Am I right?

 I analysed it deeply & found

Other scenario where this approach fails when you have data policies defined for a field like in incident we have data policies on the priorty field.

I tried it.

If the field is custom field, you can proceed as:

Now what you can do:

  • First of all if you want to achieve it don't mark it readonly via sys_dictionary entry.It is not possible if it has been marked as readonly via dictionary entry.
  • Take this approach:

function onLoad() {
var rating=g_form.getValue("u_inherent_risk_score_rating");


if(rating == "1"){
g_form.getControl("u_inherent_risk_score_rating").style.backgroundColor="green";
g_form.setReadOnly('impact',true);
}

 

if(rating == "2"){
g_form.getControl("u_inherent_risk_score_rating").style.backgroundColor="light green";
g_form.setReadOnly('impact',true); 
}

 

if(rating == "3"){
g_form.getControl("u_inherent_risk_score_rating").style.backgroundColor="yellow";
g_form.setReadOnly('impact',true); 
}

 

if(rating == "4"){
g_form.getControl("u_inherent_risk_score_rating").style.backgroundColor="red";
g_form.setReadOnly('impact',true); 
}


}

But you have to create a list edit view to prevemt that field to be edited in the list view.

Mark it helpful/correct. 

 

Thanks

Sudhanshu

 

 

View solution in original post

25 REPLIES 25

Ankur Bawiskar
Tera Patron
Tera Patron

Hi Sanel,

field styles which has value depending on the javascript would be running on list and not on form

is the field name correct 'u_choice_14'?

I believe it should be choice_14 since that might be custom created on Policy Exception table

Can you try checking with quotes for the value '1'

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Hi Sanel,

if you require to show the field styles on form then you need to write onload client script and show the field styles accordingly.

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Swapnil Soni1
Giga Guru

Hi Sanel,

Check this thread which is similar to your requirement

https://community.servicenow.com/community?id=community_question&sys_id=fda30f65dbd8dbc01dcaf3231f96...

 

Please let me know if this helps.

Thanks

Dhananjay Pawar
Kilo Sage

Hi Sanel,

Write onChange client script on choice field.

 

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

    if (isLoading || newValue == '') {
          return;
    }
   var choiceVal= g_form.getValue('u_choice_14');
if(choiceVal=='1'){
var choice1=g_form.getControl('u_choice_14');
choice1.style.backgroundColor='red';
}
else if(choiceVal=='2'){
var choice2=g_form.getControl('u_choice_14');
choice2.style.backgroundColor='green';
}
else if(choiceVal=='3'){
var choice3=g_form.getControl('u_choice_14');
choice3.style.backgroundColor='orange';
}
else{
var choice4=g_form.getControl('u_choice_14');
choice4.style.backgroundColor='blue';
}
}

Thanks,
Dhananjay.