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

Sorting 19 calculations to list the top 5 and then add a description based on results

New Here ,
Jan 30, 2017 Jan 30, 2017

Hi all,

I am pretty much at my wit's end here with JavaScript - a programmer I am not.  I have 19 groups that consist of 5 questions each.  The answers are ranked 1-5 and then totaled. Each group has a corresponding text description - example ( 1 - Ministering - if this is you, you are gifted with the ability to minister to others etc.).  I need to find the top 5 ranked responses and then print the item number, the title and the description - example:

1. 25 - Ministering - blah blah blah

2. 24 - Hospitality - blah, blah, blah

3. 21 - Prayer - blah, blah blah

4. 19 - Healing - blah, blah, blah

5. 15 - Giving - blah, blah, blah

So this is what I have for code:

var a=this.getField("Total_g1");

event.value=(a.value*1);

var b=this.getField("Total_g2");

event.value=(b.value*1);

var c=this.getField("Total_g3");

event.value=(c.value*1);

var d=this.getField("Total_g4");

event.value=(d.value*1);

var e=this.getField("Total_g5");

event.value=(e.value*1);

var f=this.getField("Total_g6");

event.value=(f.value*1);

var g=this.getField("Total_g7");

event.value=(g.value*1);

var h=this.getField("Total_g8");

event.value=(h.value*1);

var i=this.getField("Total_g9");

event.value=(i.value*1);

var j=this.getField("Total_g10");

event.value=(j.value*1);

var k=this.getField("Total_g11");

event.value=(k.value*1);

var l=this.getField("Total_g12");

event.value=(l.value*1);

var m=this.getField("Total_g13");

event.value=(m.value*1);

var n=this.getField("Total_g14");

event.value=(n.value*1);

var o=this.getField("Total_g15");

event.value=(o.value*1);

var z=this.getField("Total_g16");

event.value=(p.value*1);

var q=this.getField("Total_g17");

event.value=(q.value*1);

var r=this.getField("Total_g18");

event.value=(r.value*1);

var s=this.getField("Total_g19");

event.value=(s.value*1);

var nums=(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,z,q,r,s);

nums.sort(function(a,b){return b-a});

event.value=(nums[0]); // This number changes in each print line

And well, this doesn't work.  Any thoughts?  Thanks!!

Deb

TOPICS
Acrobat SDK and JavaScript , Windows
215
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
LEGEND ,
Jan 31, 2017 Jan 31, 2017
LATEST

In want field and action for that field did you place this code?

It looks like you only sorting the response values to each question without keeping track of the question name or grouop.

Do you get any errors saving your code?

With your presented code I get an error about "sort" not being a function, or at least for your variable "nums". It appears you have not declared "nums" as an array. Arrays have a sort method while other types of variables do not.

Are you trying to sort the values of the field objects in the array?

How do you want to handle groups with same total value, ties?

Did you open the Acrobat JavaScript console to see there were any errors in executing your code?

Can you be more specific about how your code does not work?

This will be a large form for a responder to reconstruct, can you provide a link to a sample form?

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