Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

TypeError: f is null

Community Beginner ,
Jan 27, 2021 Jan 27, 2021

I'm using the script described at Counting formula for checkboxes, but I'm receiving a "TypeError: f is null" error whenever I close the JavaScript Editor.

AFSimple_Calculate reveals that 

var f = this.getField(aFields[i]);

but that doesn't help me figure out what's going wrong. The only thing I've changed in the script is that I've changed "MyChecks" to "Points".

 

Help please? I'm using Acrobat 9 (yes, 9. Don't judge) on a Mac.

TOPICS
JavaScript
4.3K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
2 ACCEPTED SOLUTIONS
Community Expert ,
Jan 28, 2021 Jan 28, 2021

That means one of the field names you've entered is incorrect. Make sure you re-select the fields in your calculation after renaming or removing one of them, as the list doesn't update automatically when you do.

View solution in original post

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Feb 10, 2021 Feb 10, 2021

Sorry, I was looking at the total points field, not the number of objectives with points.

To fix that one change this part:

aCkFlds[i].isBoxChecked(0)

To:

aCkFlds[i].valueAsString!="Off"

View solution in original post

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jan 28, 2021 Jan 28, 2021

That means one of the field names you've entered is incorrect. Make sure you re-select the fields in your calculation after renaming or removing one of them, as the list doesn't update automatically when you do.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Feb 05, 2021 Feb 05, 2021

Alright, I think I figured that part out; thanks. But I'm having another difficulty.  I have three fields named Points.Q1, three named Points.Q2, etc. This is working great for its purpose: You can check one and only one of those fields. However, the counting script discussed here only counts when the first of the three identically-named fields in any set is checked. Is there a way around this problem? 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Feb 06, 2021 Feb 06, 2021

Can you post your code, or your actual file?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Feb 09, 2021 Feb 09, 2021

Sure. Thanks.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Feb 10, 2021 Feb 10, 2021

Works fine for me.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Feb 10, 2021 Feb 10, 2021

Sorry, I was looking at the total points field, not the number of objectives with points.

To fix that one change this part:

aCkFlds[i].isBoxChecked(0)

To:

aCkFlds[i].valueAsString!="Off"

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Feb 10, 2021 Feb 10, 2021
LATEST

Thanks so much! That worked perfectly. I really need to sit down and learn Javascript.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Feb 10, 2021 Feb 10, 2021

Following

aCkFlds[i].isBoxChecked(0)

tests only the first checkbox of a group.

You must also test

aCkFlds[i].isBoxChecked(1)

and

aCkFlds[i].isBoxChecked(2)

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