Skip to main content
Participant
July 20, 2018
Answered

When entering data into text field I get this message - “The value entered does not match the format of the field [CostPerAnnualSales]”(

  • July 20, 2018
  • 3 replies
  • 14701 views

I have a very simple PDF form for our reps to fill out, it consists of text fields and a few fields with numbers. Two of the number fields are calculated in a separate number field with this custom calculation for a percentage outcome:

event.value = (this.getField("TotalDispenserCost").value/ this.getField("ExpectedAnnualSales").value)

It calculates correctly, but when I enter text into the text fields or I trigger the Clear Form, Print Form or Email Form buttons before I enter data into the “TotalDispenserCost” and the “ExpectedAnnualSales” fields I get the following message “The value entered does not match the format of the field [CostPerAnnualSales]”(this is the field that calculates the percentage). BUT I noticed if I enter the numbers into the “TotalDispenserCost” and the “ExpectedAnnualSales” fields first and then enter data in the text fields the message does not appear.

I can’t seem to find this same type of problem on any of the forums that I’ve visited for help. Hope there is a very simple solution to this issue.

This topic has been closed for replies.
Correct answer George_Johnson

You're doing a division, and when you do that when the ExpectedAnnualSales field is blank (or zero), you're dividing by zero, which will result in something that can't be displayed in a field that's set up with a numeric format. The fix is to check to see if the denominator evaluates to zero, and if so, set the calculated value to something like blank. For example:

var numerator = +getField("TotalDispenserCost").value;

var denominator = +getField("ExpectedAnnualSales").value;

if (denominator !== 0) {

     event.value = numerator / denominator;

} else {

    event.value = "";

}

3 replies

Participating Frequently
January 8, 2021

Hi,

I have the same problem. The formula is Expense1/Expense2*Expense3. Teh calculation is correct, but when I try to enter other values i get the same error. The below is the message that shows in the JavaScript Editor. I am really new to Adobe and need to ahve the form ready by 1-12-21. Any help is much appreciated. Thank you,

 

 

//-------------------------------------------------------------

//-----------------Do not edit the XML tags--------------------

//-------------------------------------------------------------

 

//<AcroForm>

//<ACRO_source>Result:Calculate</ACRO_source>

//<ACRO_script>

/*********** belongs to: AcroForm:Result:Calculate ***********/

/** BVCALC Expense1/Expense2*Expense3 EVCALC **/event.value=AFMakeNumber(getField("Expense1").value)/AFMakeNumber(getField("Expense2").value)*AFMakeNumber(getField("Expense3").value)

//</ACRO_script>

//</AcroForm>

 

Legend
January 8, 2021

The calculation is NOT correct because it produces an error. The error happens for the reasons noted and explained already.

try67
Community Expert
Community Expert
January 11, 2021

The calculation is correct. No problems with that.

 

The issue is that the formatting of the total box before imputing any amount in V1/V2*V3 does not show 0.00. It shows 0.00 when I input V1 and V2 and once I input V3, it show the correct calculation.

I would like the total box to show 0.00 before inputing any amount in the value boxes.


That is not a correct result, but if you really want to do it change this line:

if (v2==0) event.value = "";

To:

if (v2==0) event.value = 0;

Participant
July 20, 2018

George, I knew it was a simple answer, but because of my lack of Acrobat JavaScript I was having a difficult time solving the issue.

Thank You so much!!!

George_JohnsonCorrect answer
Inspiring
July 20, 2018

You're doing a division, and when you do that when the ExpectedAnnualSales field is blank (or zero), you're dividing by zero, which will result in something that can't be displayed in a field that's set up with a numeric format. The fix is to check to see if the denominator evaluates to zero, and if so, set the calculated value to something like blank. For example:

var numerator = +getField("TotalDispenserCost").value;

var denominator = +getField("ExpectedAnnualSales").value;

if (denominator !== 0) {

     event.value = numerator / denominator;

} else {

    event.value = "";

}

Known Participant
September 29, 2020

George,

Using the same example, what would the Acrobat JavaScript coding be for the same issue (same error message) when multiplying instead of dividing?

try67
Community Expert
Community Expert
September 29, 2020

Multiplying should not produce this error, unless you're multiplying non-numbers. If you are getting this result it means the value of one of the field could not be converted to a number, which will result in NaN.

To overcome that you can do something like this:

 

var a = Number(this.getField("A").valueAsString);

var b = Number(this.getField("B").valueAsString);

if (isNaN(a) || isNaN(b)) event.value = "";

else event.value = a * b;