Calculate a Value from a PDF Dropdown Selection Using JavaScript
Question details
The user needs to dynamically calculate and display a value in a PDF form field based on the text option selected from a dropdown menu, applying different multipliers depending on the selection.

- Product
- Adobe Acrobat PDF Forms
- Device & OS
- not provided
- Scenario
- Creating an interactive PDF form where a resulting calculation depends on conditional logic from a dropdown field (e.g., Tiny, Small, Medium) and a numeric input field.
- Observed behavior
- The form requires a custom script to read the dropdown text, convert the referenced numeric field properly, and output the mathematical result.
Ensure you have a PDF editor that supports form field editing and JavaScript calculations, and note the exact case-sensitive names of your dropdown and input fields.
Use Custom Calculation JavaScript in Acrobat
Add a custom calculation script to your target result field that reads the dropdown choice as a string, converts the input field to a number, and applies an if/else conditional structure.
In interactive PDF forms, standard calculation options cannot handle conditional logic based on text dropdowns. You must use JavaScript to evaluate the selected text and perform the correct mathematical operation.
Open your PDF document, navigate to the Tools menu, and select 'Prepare Form' to reveal all interactive fields.
Right-click the text field where you want the calculated result to appear and select 'Properties'.
Click on the 'Calculate' tab in the Properties window, choose the 'Custom calculation script' radio button, and click the 'Edit' button.
In the JavaScript Editor, declare variables for your dropdown and numeric fields. Use this structure: var size = this.getField("size").valueAsString; var strength1 = Number(this.getField("Strength1").valueAsString); Then use if/else if statements to calculate event.value, for example: if (size == "Small") event.value = strength1; else if (size == "Medium") event.value = strength1 * 2;
Click 'OK' to save the script, close the Properties dialog, and exit 'Prepare Form' mode to test selecting different dropdown items.

View and Fill Interactive PDF Forms with WPS Office
WPS Office provides an excellent built-in PDF reader and editor that flawlessly handles standard interactive PDF forms. You can seamlessly fill out fields, utilize complex dropdowns, and let pre-configured calculations execute smoothly.
- 1. Open your PDF: Launch WPS Office and open your interactive PDF document using the WPS PDF tool.
- 2. Interact with form fields: Click directly into any highlighted text fields or dropdown menus to begin inputting your information.
- 3. Trigger calculations automatically: Select an option from a dropdown; WPS PDF will automatically execute the embedded JavaScript calculations and update dependent fields.
- 4. Save or export: Once completed, click 'Save' or use the 'Export' options to securely share your filled-out form.

Frequently Asked Questions
Why is my PDF JavaScript calculation not updating?
Calculations might not update if there is a syntax error in your script, if a referenced field name is misspelled (field names are case-sensitive), or if the calculation order in your form is incorrect. Check the calculation order under the 'Prepare Form' menu.
How do I correctly reference a numeric field in PDF JavaScript?
To perform math on a text field that contains numbers, you must convert it using the Number() function. For example: var myNum = Number(this.getField('FieldName').valueAsString);. This prevents the script from treating the number as a text string.
Can I use standard calculations instead of JavaScript for dropdowns?
No. The standard calculation options (like sum, product, average) only work when adding or multiplying pure numeric fields together. Because a dropdown uses text selections that require conditional logic (if/else), custom JavaScript is mandatory.
What does valueAsString do in Acrobat JavaScript?
The property .valueAsString forces Acrobat to read the field's content strictly as text. This is especially useful for dropdowns to prevent the script from throwing an error or misinterpreting the selection when the user hasn't chosen an item yet.




