Highlighted

help with code

Engaged ,
Jul 27, 2020

Copy link to clipboard

Copied

if(this.getField("field").checkThisBox(0, event.value=="4/8"));

How do I make it check the checkbox even if values are "5/8","6/8","7/8" and "8/8"?

Most Valuable Participant
Correct answer by try67 | Most Valuable Participant

You can combine both functions into a single calculation script, like this:

var v1 = this.getField("field1").valueAsString;
var f = this.getField("checkbox");
if (v1 == "4" || v1 == "5" || v1=="6" || v1=="7" || v1=="8") {
	f.checkThisBox(0, true);
} else f.checkThisBox(0, false);
event.value = v1 + "/8";
TOPICS
Acrobat SDK and JavaScript

Views

82

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

help with code

Engaged ,
Jul 27, 2020

Copy link to clipboard

Copied

if(this.getField("field").checkThisBox(0, event.value=="4/8"));

How do I make it check the checkbox even if values are "5/8","6/8","7/8" and "8/8"?

Most Valuable Participant
Correct answer by try67 | Most Valuable Participant

You can combine both functions into a single calculation script, like this:

var v1 = this.getField("field1").valueAsString;
var f = this.getField("checkbox");
if (v1 == "4" || v1 == "5" || v1=="6" || v1=="7" || v1=="8") {
	f.checkThisBox(0, true);
} else f.checkThisBox(0, false);
event.value = v1 + "/8";
TOPICS
Acrobat SDK and JavaScript

Views

83

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Jul 27, 2020 0
Adobe Community Professional ,
Jul 27, 2020

Copy link to clipboard

Copied

I'm sure there's a variety of different ways to do it with javascript, but you can easily get the job done like this:

 

 

var s = event.target.value;
var f = this.getField("checkbox");
if ( (s == "4/8")  || ( s == "5/8")  || ( s =="6/8") || ( s =="7/8") ||  ( s == "8/8") ) {f.checkThisBox(0, true)}
else f.checkThisBox(0, false);

 

 

Also make the checkbox read-only so the users don't mess with its check /unchecked status if they try to click on it.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 27, 2020 0
Engaged ,
Jul 27, 2020

Copy link to clipboard

Copied

Hi, thanks for your help.Code is working only if I enter values manually it doesn't work when other code change values in that field. I put code in validate of my textfield?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 27, 2020 0
Adobe Community Professional ,
Jul 27, 2020

Copy link to clipboard

Copied

I apologize. I am using it as a custom calculation script of the field where users will enter the values, not a validation script.

 

Were you originally asking about a validation script instead?

 

 

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 27, 2020 0
Adobe Community Professional ,
Jul 27, 2020

Copy link to clipboard

Copied

I forgot to ask what other code are you using to change the values in that field?

 

Unless I missunderstood your quesiotn completely , I believe you didn't mention about using other code to interact with that field in your initial inquiry.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 27, 2020 0
Engaged ,
Jul 28, 2020

Copy link to clipboard

Copied

sry about that i should have mention that I'm using another code as custom calculation,this is code I use

event.value = Number(this.getField("field1").valueAsString) + "/8";

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 28, 2020 0
Adobe Community Professional ,
Jul 28, 2020

Copy link to clipboard

Copied

I don't want to sound a little slow here, but I am a bit lost with your workflow.  😞

 

I think I have an idea but is better if you briefly explain what is the workflow in your form, like for example, where does the user enter these numbers? is it in another text field? 

 

If yes, does the second script that you shared is a format script which adds the fractional part to whatever number the user inputs?  

 

And then another field grabs this value and if it doesn't match  these strings 4/8, 5/8, 6/8, 7/8   the checkbox remains uncheck?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 28, 2020 0
Engaged ,
Jul 28, 2020

Copy link to clipboard

Copied

It goes like this: user input value in dialog box which then write that value to field1, then field2 have custom calculation script if value in field1 is 1 it writes 1/8 in it's own field(field2) if value is 2 then it writes 2/8...etc

now what I need is if value in field2 is 1/8,2/8 or 3/8 checkbox is unchecked if values are 4/8,5/8,6/8,7/8 or 8/8 checkbox need to be checked.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 28, 2020 0
Most Valuable Participant ,
Jul 28, 2020

Copy link to clipboard

Copied

You need to use calculation scripts for that, not validation, and to make sure that the fields calculation order is correct.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 28, 2020 0
Engaged ,
Jul 28, 2020

Copy link to clipboard

Copied

That code is in custom calculation script i fixed my error in post above.thx

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 28, 2020 0
Adobe Community Professional ,
Jul 28, 2020

Copy link to clipboard

Copied

So here's what worked for me as custom calculation script of field2

 

var f = this.getField("checkbox");

var s = this.getField("field1").value +"/8";

event.value = s;

if (event.value) {

if ( (s == "4/8")  || ( s == "5/8")  || ( s =="6/8") || ( s =="7/8") || ( s == "8/8") ) {f.checkThisBox(0, true)}
if ( (s == "1/8") || (s == "2/8") || (s == "3/8") ) {f.checkThisBox(0, false)}

}

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 28, 2020 0
Most Valuable Participant ,
Jul 28, 2020

Copy link to clipboard

Copied

You can combine both functions into a single calculation script, like this:

var v1 = this.getField("field1").valueAsString;
var f = this.getField("checkbox");
if (v1 == "4" || v1 == "5" || v1=="6" || v1=="7" || v1=="8") {
	f.checkThisBox(0, true);
} else f.checkThisBox(0, false);
event.value = v1 + "/8";

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 28, 2020 1
Engaged ,
Jul 28, 2020

Copy link to clipboard

Copied

First of all guys I really appreciate yout help and sry I'm PITA.

Ok now on codes:

ls_rbls your code only check checkbox if value is 4/8

EDIT: also need to enter 5,6,7,8/8 twice to check it.

 

try67  your code also only  check checkbox if value is 4 and for values 5,6,7 and 8 I need to enter them twice cuz first time it actually uncheck checkbox and second time I enter value it check it.

 

EDIT2: In both codes only value of 4 (4/8) is working as intended.

Would it be easier if instead of checkbox it's radio button?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 28, 2020 0
Most Valuable Participant ,
Jul 28, 2020

Copy link to clipboard

Copied

That doesn't make sense. Did you edit the code in any way? Can you share the actual file with us?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 28, 2020 0
Engaged ,
Jul 28, 2020

Copy link to clipboard

Copied

I searched all my fields and there was validation script in one of the field that was interfering with the codes,

Both codes work fine now, I apologize it was my mistake. Thank you guys for helping me.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 28, 2020 0