Skip to main content
Random8
Inspiring
September 17, 2024
Answered

PDF Form JavaScript Conditional Formula

  • September 17, 2024
  • 1 reply
  • 916 views

I'm trying to have a field only calculate if there the information in another field is greater than 0. I've tried a few different formulas but haven't been able to get it to work.

 

This is the current formula without the condition that works but is calculating all the time (vs just when the one field is above 0):

TuitionAmountBeforetheCOF + StateTABooKAllowance + MandatoryFees -CollegeOpportunityFundAmountONLY - PellGrantAmountAwardedForSemester - AdditionalFundingSourceAmount1 - AdditionalFundingSourceAmount2 – AdditionalFundingSourceAmount3 

 

This the conditional attempt:

var PellGrantAmountAwardedForSemester = this.getField("PellGrantAmountAwardedForSemester").value

var TuitionAmountBeforetheCOF = this.getField("TuitionAmountBeforetheCOF").value 

var StateTABooKAllowance = this.getField("StateTABooKAllowance").value 

var MandatoryFees = this.getField("MandatoryFees").value 

var CollegeOpportunityFundAmountONLY = this.getField("CollegeOpportunityFundAmountONLY").value 

var AdditionalFundingSourceAmount1 = this.getField("AdditionalFundingSourceAmount1").value 

var AdditionalFundingSourceAmount2 = this.getField("AdditionalFundingSourceAmount2").value 

var AdditionalFundingSourceAmount2 = this.getField("AdditionalFundingSourceAmount2").value; 

  

if(PellGrantAmountAwardedForSemester >= 0) event.value =( (TuitionAmountBeforetheCOF + StateTABooKAllowance + MandatoryFees - CollegeOpportunityFundAmountONLY - PellGrantAmountAwardedForSemester - AdditionalFundingSourceAmount1 - AdditionalFundingSourceAmount2 - AdditionalFundingSourceAmount3)); 
This topic has been closed for replies.
Correct answer Nesa Nurani

I've tried with and without the semi-colons and still doesn't work.


Just saying doesn't work is not of much help to us, describe what doesn't work, like it doesn't calculate anything or something else?

You said you wish calculation to only trigger if value is greater than 0, but in your script you used >=0 which will calculate all the time even if field is empty, change it to >0

 

EDIT:
This works fine for me, although you may want to add 'else' statement to set field back to 0 or blank:

var PellGrantAmountAwardedForSemester = Number(this.getField("PellGrantAmountAwardedForSemester").valueAsString);
var TuitionAmountBeforetheCOF = Number(this.getField("TuitionAmountBeforetheCOF").valueAsString);
var StateTABooKAllowance = Number(this.getField("StateTABooKAllowance").valueAsString);
var MandatoryFees = Number(this.getField("MandatoryFees").valueAsString);
var CollegeOpportunityFundAmountONLY = Number(this.getField("CollegeOpportunityFundAmountONLY").valueAsString);
var AdditionalFundingSourceAmount1 = Number(this.getField("AdditionalFundingSourceAmount1").valueAsString);
var AdditionalFundingSourceAmount2 = Number(this.getField("AdditionalFundingSourceAmount2").valueAsString);
var AdditionalFundingSourceAmount3 = Number(this.getField("AdditionalFundingSourceAmount3").valueAsString);


if (PellGrantAmountAwardedForSemester > 0) {
    event.value = (
        TuitionAmountBeforetheCOF 
        + StateTABooKAllowance 
        + MandatoryFees 
        - CollegeOpportunityFundAmountONLY 
        - PellGrantAmountAwardedForSemester 
        - AdditionalFundingSourceAmount1 
        - AdditionalFundingSourceAmount2 
        - AdditionalFundingSourceAmount3
    );
}

1 reply

PDF Automation Station
Community Expert
Community Expert
September 17, 2024

Check the console for errors.  You have at least one error.  There is no AdditionalFundingSourceAmount3 variable as referenced in your script.  You have AdditionalFundingSourceAmount2 twice.

Random8
Random8Author
Inspiring
September 17, 2024

I noticed that after posting and fixed it but it still doesn't work.

 

PDF Automation Station
Community Expert
Community Expert
September 17, 2024

There should be a semi-colon after each variable declaration line.  Any errors in the console?