Hello:
I have a form that is a series of 14 questions. Each question has a drop-down list with 4 possible answers (yes, no, N/A, not observed).
I need to show a total of the answers (number of yes, number of no, etc) at the end of the form.
Not real experienced at using scripts, but willing to learn...
Thanks!
Solved! Go to Solution.
Views
Replies
Total Likes
You may need to expand the scope of the conditional expression to include the table.
Something like:
this.rawValue=xfa.resolveNodes('Table.Row.[Cell1.rawValue=="1"]').length;
That's without seeing your exact hierarchy.
Kyle
Views
Replies
Total Likes
I've uploaded a sample here: https://workspaces.acrobat.com/?d=7W8lXkoUZuLp4r1xpyagUw
The sample assumes a couple of things:
The script is on the click event of the "click me" button and puts the values into the four fields below.
This is the script that's on the button:
// get the list of ddls
var oDDL = xfa.resolveNodes("DropDownList1[*]");
// zero the fields accepting the counts
yesTotal.rawValue = null;
noTotal.rawValue = null;
naTotal.rawValue = null;
notTotal.rawValue = null;
// loop through the ddls to count answers
for (i = 0; i < oDDL.length; i ++) {
if (oDDL.item(i).rawValue == 1) {
yesTotal.rawValue = yesTotal.rawValue + 1;
}
if (oDDL.item(i).rawValue == 2) {
noTotal.rawValue = noTotal.rawValue + 1;
}
if (oDDL.item(i).rawValue == 3) {
naTotal.rawValue = naTotal.rawValue + 1;
}
if (oDDL.item(i).rawValue == 4) {
notTotal.rawValue = notTotal.rawValue + 1;
}
}
Views
Replies
Total Likes
You could also use SOM predicates in the resolveNodes method and place a one liner in the calculate event of each total field:
this.rawValue=xfa.resolveNodes('DropDownList1.[$.rawValue=="1"]').length //Counts all the fields named DropDownList1 with a value of 1
Kyle
Views
Replies
Total Likes
Nice trick!
Views
Replies
Total Likes
Ya it was a recipe by Bruce that really open my eyes to the power of SOM predicates. I use to think it was just for binding data until I saw him use it in the resolveNodes method.
Better (and faster) than for loops.
http://cookbooks.adobe.com/post_Drop_Down_List_Control_with_auto_complete__Searcha-18402.html
Thanks Bruce!
Kyle
Views
Replies
Total Likes
Thanks for the input. Your idea seems to be the most straight forward, BUT running into a problem...
The 14 questions each have a flowed text comment field in addition to the drop down list box as well as fixed text references (this is an inspection checklist). To make formatting easier, I put every thing in a table, each item is in it's own cell. If the drop down list is in a cell in the table, the script does not work (even though they are wrapped in the same subform). If I take the drop down list out of the table, it works fine.
Any thoughts?
Views
Replies
Total Likes
You may need to expand the scope of the conditional expression to include the table.
Something like:
this.rawValue=xfa.resolveNodes('Table.Row.[Cell1.rawValue=="1"]').length;
That's without seeing your exact hierarchy.
Kyle
Views
Replies
Total Likes
Thanks Kyle:
Still not sure how to deal with this, maybe if you look at the document at:
http://https://workspaces.acrobat.com/?d=rz73qoHxP01fckbOHCcC3Q
Thanks for your help...
Views
Replies
Total Likes
OK...I did a few things...
I got rid of all your static rows since they were all identical and made one dynamic repeatable row.That should be easier to manage and edit. To adjust the number of rows and the text in each row go into the myLists scripting object and you will see it is relatively self explanatory how to make edits (just make sure the last entry doesn't have a comma at the end).
Also cleaned up some subforms you didn't need.
The code you had in your NumericField5 was out of scope. That means that NumbericField5 couldn't find the field Answer in the resolveNodes method because it was inside 3 other subforms (see code in pdf).
Changed the DropDown from Commit on Exit to Select.
http://www.fieldeffecttechnologies.com/AdobeForums/InspectionChecklist.pdf
Kyle
Hi Kyle:
If you have a chance can you take a look at the following thread and let me know what you think.
http://forums.adobe.com/thread/1321385
Thanks
Max
Views
Replies
Total Likes