Problems with JavaScript for coloring a cells borders

Avatar

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile
jcotting
Level 1

19-07-2019

I am trying to color a border based on value entered into the cell within a form.

The cell is a numeric field

Below is the scripted for the cell.

Not sure why it is not working. I

form1.#subform[0].Table2.Row1.FFMCRow1::calculate - (JavaScript, client)

var v = Number(event.value);

if (v>=0 && v<=73) {event.target.borderColor = ["CMYK",1,0,0,0];}

else if (v>73 && v<=84) {event.target.borderColor = ["RGB",0,0.8,0];}

else if (v>84 && v<=88) {event.target.borderColor = color.yellow;}

else if (v>88 && v<=91) {event.target.borderColor = color.red;}

else if (v>=92) {event.target.borderColor = color.magenta;}

Any thoughts of suggestions would be appreciated.

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar
Coach
MVP
radzmar
MVP

Likes

397 likes

Total Posts

2,687 posts

Correct reply

492 solutions
Top badges earned
Coach
Ignite 3
Ignite 1
Validate 1
Give Back 50
View profile

Avatar
Coach
MVP
radzmar
MVP

Likes

397 likes

Total Posts

2,687 posts

Correct reply

492 solutions
Top badges earned
Coach
Ignite 3
Ignite 1
Validate 1
Give Back 50
View profile
radzmar
MVP

18-08-2019

The JavaScript dialect in LiceCycle is defferent to those you're using in web browsers.

The script should look more this way:

var v = this.isNull ? 0 : parseInt(this.rawValue),

c;

switch (true) {

     case (v >= 0 && v <= 73) : c = "255,0,0"; break;

     case (v > 73 && v <= 84) : c = "0,204,0"; break;

     case (v > 84 && v <= 88) : c = "255,204,0"; break;

     default: c = "0,0,0";

}

this.border.edge.color.value = c;

Put it into the exit event in case the cell is filled by user not another script.

Answers (13)

Answers (13)

Avatar

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile
jcotting
Level 1

26-08-2019

The form project has come to an end as everything works saved as dynamic form, but i need static formas the form is being used on a mobile device. PDF expert and others dont support dynamic forms. Thanks for all your help unless you have a work around.

Avatar

Avatar
Coach
MVP
radzmar
MVP

Likes

397 likes

Total Posts

2,687 posts

Correct reply

492 solutions
Top badges earned
Coach
Ignite 3
Ignite 1
Validate 1
Give Back 50
View profile

Avatar
Coach
MVP
radzmar
MVP

Likes

397 likes

Total Posts

2,687 posts

Correct reply

492 solutions
Top badges earned
Coach
Ignite 3
Ignite 1
Validate 1
Give Back 50
View profile
radzmar
MVP

22-08-2019

That's propably the highlighting color for editable form fields.

You can turn it off with a script in the the initialize event of the form for example.

app.runtimeHighlight = false;

Or simply from the menu of your PDF viewer or by clicking the button in the purple bar.

1819164_pastedImage_2.png

Avatar

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile
jcotting
Level 1

21-08-2019

Good Day:

Noticed the fill colour issue as well.

Now have the fill colour working. Happy.

Now i am trying to get the cell to actually be the colour it is suppose to be.

Below it is red but Abobe displays it a pinkish colour unless i have the cell selected.

Trying to turn off the default back ground pale blue to clear maybe that will solve the problem. But cant locate.

1818580_pastedImage_0.png

Unselected

1818602_pastedImage_1.png

Selected

1818603_pastedImage_3.png

Avatar

Avatar
Coach
MVP
radzmar
MVP

Likes

397 likes

Total Posts

2,687 posts

Correct reply

492 solutions
Top badges earned
Coach
Ignite 3
Ignite 1
Validate 1
Give Back 50
View profile

Avatar
Coach
MVP
radzmar
MVP

Likes

397 likes

Total Posts

2,687 posts

Correct reply

492 solutions
Top badges earned
Coach
Ignite 3
Ignite 1
Validate 1
Give Back 50
View profile
radzmar
MVP

21-08-2019

Delete the code part ".fillcolor“ in line 4. It makes no sense.

1818498_pastedImage_1.png

Avatar

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile
jcotting
Level 1

20-08-2019

1818026_pastedImage_0.png

Avatar

Avatar
Establish
MVP
_Bruce_Robertson
MVP

Likes

271 likes

Total Posts

1,782 posts

Correct reply

372 solutions
Top badges earned
Establish
Give Back 25
Give Back 10
Give Back 5
Give Back 3
View profile

Avatar
Establish
MVP
_Bruce_Robertson
MVP

Likes

271 likes

Total Posts

1,782 posts

Correct reply

372 solutions
Top badges earned
Establish
Give Back 25
Give Back 10
Give Back 5
Give Back 3
View profile
_Bruce_Robertson
MVP

20-08-2019

Not working in preview mode would make me think you have some exceptions being generated.  If you use Acrobat Pro, and press Ctrl-J to bring up the console do you see any exception messages.

Avatar

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile
jcotting
Level 1

19-08-2019

1817286_pastedImage_0.png

It does not work in preview PDF mode. The screen shots i sent you was with the working document opened up in Adobe Pro.

With the fill color not working for me and the border working. Is there a way to make the border color bolder like this:

1817287_pastedImage_1.png

Thanks again for your help.

Avatar

Avatar
Coach
MVP
radzmar
MVP

Likes

397 likes

Total Posts

2,687 posts

Correct reply

492 solutions
Top badges earned
Coach
Ignite 3
Ignite 1
Validate 1
Give Back 50
View profile

Avatar
Coach
MVP
radzmar
MVP

Likes

397 likes

Total Posts

2,687 posts

Correct reply

492 solutions
Top badges earned
Coach
Ignite 3
Ignite 1
Validate 1
Give Back 50
View profile
radzmar
MVP

19-08-2019

Works for me. Did you put the script into the exit event of the cell and set the script language to JavaScript?

form1.#subform[0].Table2.Row1.FFMCRow1::exit - (JavaScript, client)

var v = this.isNull ? 0 : parseInt(this.rawValue),

c;

switch (true) {

case (v >= 0 && v <= 73) : c = "0,0,255"; break;

case (v > 73 && v <= 85) : c = "0,0,255"; break;

case (v > 85 && v <= 89) : c = "255,255,0"; break;

case (v > 89 && v <= 92) : c = "255,0,0"; break;

case (v > 92) : c = "255,0,255"; break;

default: c = "0,0,0";

}

this.border.fill.color.value = c;

Avatar

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile
jcotting
Level 1

19-08-2019

The person filling in the value will type in the number from the key board and tab to the next and repeat. You can see FFMC 88 is not yellow (fill cell script) and DMC 124 (pink) has the boarder script.

1817278_pastedImage_0.png

If you make the cell active with the cursor or tab, FFMC 88 turns yellow.

1817285_pastedImage_1.png

Avatar

Avatar
Coach
MVP
radzmar
MVP

Likes

397 likes

Total Posts

2,687 posts

Correct reply

492 solutions
Top badges earned
Coach
Ignite 3
Ignite 1
Validate 1
Give Back 50
View profile

Avatar
Coach
MVP
radzmar
MVP

Likes

397 likes

Total Posts

2,687 posts

Correct reply

492 solutions
Top badges earned
Coach
Ignite 3
Ignite 1
Validate 1
Give Back 50
View profile
radzmar
MVP

19-08-2019

How do you populate the cells value?

Avatar

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile
jcotting
Level 1

19-08-2019

Thanks for your help.

The cell coloring kind of works.

I populate the cell with number and tab to the next cell. The coloring does not change.

1817267_pastedImage_0.png

If i put the cursor back on the cell the cell changes color.

1817269_pastedImage_3.png

Is there a way to maintain the colored cell once i tab off the cell?

var v = this.isNull ? 0 : parseInt(this.rawValue),

c;

switch (true) {

case (v >= 0 && v <= 73) : c = "0,0,255"; break;

case (v > 73 && v <= 85) : c = "0,0,255"; break;

case (v > 85 && v <= 89) : c = "255,255,0"; break;

case (v > 89 && v <= 92) : c = "255,0,0"; break;

case (v > 92) : c = "255,0,255"; break;

default: c = "0,0,0";

}

this.border.fill.color.value = c;

Avatar

Avatar
Coach
MVP
radzmar
MVP

Likes

397 likes

Total Posts

2,687 posts

Correct reply

492 solutions
Top badges earned
Coach
Ignite 3
Ignite 1
Validate 1
Give Back 50
View profile

Avatar
Coach
MVP
radzmar
MVP

Likes

397 likes

Total Posts

2,687 posts

Correct reply

492 solutions
Top badges earned
Coach
Ignite 3
Ignite 1
Validate 1
Give Back 50
View profile
radzmar
MVP

19-08-2019

In that case change it into

this.border.fill.color.value = c;

Avatar

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile

Avatar
Validate 1
Level 1
jcotting
Level 1

Likes

0 likes

Total Posts

9 posts

Correct reply

0 solutions
Top badges earned
Validate 1
View profile
jcotting
Level 1

19-08-2019

Thanks for your response. It works.

Obviously i don't write script.

If i wanted to fill the cell with a different colour instead of the boarder.

Do I change this statement ....this.border.edge.color.value = c;?

What would the script look like?