This was asked and answered back in 2009 (http://forums.adobe.com/message/5944725#5944725), but I have a twist to the question:
I'm able to get the action to work, but not right away. I had to click around on the form to make the check box tic. I assigned the following code to the JhammerPassed-named check box:
if (JhammerSatTotal.rawValue <=80){
JhammerPassed.rawValue =1;
} else {
JhammerPassed.rawValue =0;
}
Essentially I have two boxes: one if they passed and one if they failed. So, if the value of the points awarded is greater than or equal to 80, then the 'passed' box tics. I added the less than version to the 'failed' box. They only seem to tic if I click on the JhammerSatTotal cell, then away, then back again. Is this just a quirk of the program or is there a way for it to be more responsive?
Thanks!
~Laura
Solved! Go to Solution.
Views
Replies
Total Likes
Typos... And possibly copy/paste didn't keep that first line together...
var tempValue = form1.Page4.JhammerTest.Row1.JhammerSat1 + form1.Page4.JhammerTest.Row1.JhammerSat2 + form1.Page4.JhammerTest.Row1.JhammerSat3+ form1.Page4.JhammerTest.Row1.JhammerSat4;
should be
var tempValue = parseInt(form1.Page4.JhammerTest.Row1.JhammerSat1.rawValue) + parseInt(form1.Page4.JhammerTest.Row2.JhammerSat2.rawValue) + parseInt(form1.Page4.JhammerTest.Row3.JhammerSat3.rawValue) + parseInt(form1.Page4.JhammerTest.Row4.JhammerSat4.rawValue);
Message was edited by: jasotastic81 after a couple of typos and fixing a logic problem, this should be right.
Views
Replies
Total Likes
What event do you have the code on? For it to check the value of the other field it should probably be on the Calculate event.
I would reverse the script and put it on the Exit event of the "JhammerPassed" field (unless that is a calculated total).
Views
Replies
Total Likes
Thanks for your response. The JhammerSatTotal is the calculated field (in a table) and the JhammerPassed is the check box that needs to be ticked if JhammerSatTotal is <= 80. I'm not fabulous with Javascript, so if you suggest the Calcualate option, can you help with the code?
Views
Replies
Total Likes
I don't know how many rows you are adding values from, but this worked as a test with two items in the "calculate" event for JhammerSatTotal.
tfPartA.rawValue + tfPartB.rawValue >= 80 ? JhammerPassed.rawValue = 1 : JhammerPassed.rawValue = 0;
this.rawValue = parseInt(tfPartA.rawValue) + parseInt(tfPartB.rawValue);
Something like this would work, too.
var tempValue = parseInt(tfPartA.rawValue) + parseInt(tfPartB.rawValue);
tempValue >= 80 ? JhammerPassed.rawValue = 1 : JhammerPassed.rawValue = 0;
this.rawValue = tempValue;
If you have a lot of rows in your table (especially if the table is dynamic), then using a for loop to add them up first might be better.
I'm adding up 4 rows into JhammerSatTotal. The script I have in JhammerSatTotal is:
Sum(form1.Page4.JhammerTest.Row1.JhammerSat1
,form1.Page4.JhammerTest.Row2.JhammerSat2,form1.Page4.JhammerTest.Row3.JhammerSat3,
form1.Page4.JhammerTest.Row4.JhammerSat4)
(I tried simpler code, but this was the only one that worked.) So, the 4 fields that the total field is adding up are: JhammerSat1, JhammerSat2, JhammerSat3, JhammerSat4. These 4 fields are user entered.
Basically, my table looks as follows:
Steps | Points | Sat | Unsat |
---|---|---|---|
Step 1 | 10 | ||
Step 2 | 40 | ||
Step 3 | 10 | ||
Step 4 | 40 | ||
Total: | 100 |
Then, there are two check boxes under the table: Passed and Failed. The user enters points into the Sat and Unsat rows while the total row is added up. If the total in the Sat column is <= 80, the Passed box should be checked. And the Failed box if it's >80.
Would this make a difference with your suggestion above?
Views
Replies
Total Likes
OK, based on your description, I would have the calculate event for your JhammerSetTotal look like this:
var tempValue = form1.Page4.JhammerTest.Row1.JhammerSat1 + form1.Page4.JhammerTest.Row1.JhammerSat2 + form1.Page4.JhammerTest.Row1.JhammerSat3 + form1.Page4.JhammerTest.Row1.JhammerSat4;
if (tempValue <= 80) {
JhammerPassed.rawValue = 1;
JhammerFailed.rawValue = 0;
}
else {
JhammerPassed.rawValue = 0;
JhammerFailed.rawValue = 1;
}
this.rawValue = tempValue;
Views
Replies
Total Likes
One more quick question, though. Do I need to change the text field value? I had it set to 'Calculated - Read Only' and JhammerSatTotal is no longer displaying the total of the Sat rows. I just want to make sure I'm not doing something stupid.
Views
Replies
Total Likes
Is that happening after changing your script to what I posted above?
Your setting is correct. You don't want a user modifying that value since it's calculated from other fields.
Views
Replies
Total Likes
Yes, I change my javascript to what you sent and JhammerSatTotal field no longer calcuates. The Script field is set to Javascript language.
Views
Replies
Total Likes
Typos... And possibly copy/paste didn't keep that first line together...
var tempValue = form1.Page4.JhammerTest.Row1.JhammerSat1 + form1.Page4.JhammerTest.Row1.JhammerSat2 + form1.Page4.JhammerTest.Row1.JhammerSat3+ form1.Page4.JhammerTest.Row1.JhammerSat4;
should be
var tempValue = parseInt(form1.Page4.JhammerTest.Row1.JhammerSat1.rawValue) + parseInt(form1.Page4.JhammerTest.Row2.JhammerSat2.rawValue) + parseInt(form1.Page4.JhammerTest.Row3.JhammerSat3.rawValue) + parseInt(form1.Page4.JhammerTest.Row4.JhammerSat4.rawValue);
Message was edited by: jasotastic81 after a couple of typos and fixing a logic problem, this should be right.
Views
Replies
Total Likes
That worked perfectly, thank you!!
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies