


Hello: I'm a newbie to javascript and have a little experience with LiveCycle.
I'm working on a form which will allow an applicant to calculate an approximate graduation date if they're getting an Associates Degree. They enter their start date (Start_Date) and total credits earned to date in another field. The Credits field returns a variable which reduces the graduation date. So, I need to take the Start_Date, add 1068 days (which is 35 months converted roughly to days), then subtract the variable calculated from the Credits field and display an estimated graduation date. I have tried many different ways of doing this based on examples I've found, and though LiveCycle says the syntax is OK, nothing will display in the field. I hope this makes sense. I'm taking a relatively simple Excel "calculator" and adding it to this form, but I just don't know enough about Javascript to get it to work.
I hope this makes sense. I need:
1. User enters Start Date & Credits Earned
2. Associates Degree field would calculate Start Date + 1068 days (~35 months from the date entered)
3. If any credits have been earned to date, a variable (converting credits earned to a number of days, which I already have calculating correctly in a hidden field) would be subtracted
Start Date + 1068 days - Variable = Graduation Date
Any help would be appreciated.
Views
Replies
Sign in to like this content
Total Likes
Hi,
you can calculate dates much easier with FormCalc that with JavaScript.
Here's all you need, so far:
if (not $.isNull) then
var cPattern = "DD.MM.YYYY" ;How the entered date is formatted
var cStartDate = $.formattedValue ;The entered anf formatted date
var iStartDate = Date2Num(cStartDate, cPattern) ;The date converted into an integer
var iNumMonths = 35 ;Months to count
var iNumSubtractDays = 7 ;Value to be subtracted later.
var iNumCount = 0 ;Month counter
;A while loop that executed as long the desired number of months have been counted
while (iNumCount lt iNumMonths) do
;If current month is different to previous month …
if (Num2Date(iStartDate, "M") ne Num2Date(iStartDate - 1, "M")) then
;…add 1 month to the counter
iNumCount = Sum(iNumCount + 1)
endif
;Add 1 day to the counter for the next iteration of the while loop
iStartDate = Sum(iStartDate, 1)
endwhile
;Show result in textfield etc.
Textfield = Num2Date(Sum(iStartDate, -1, iNumSubtractDays), cPattern)
endif
Add the script above into the exit event of you start date field and set the scripting language to FormCalc.
Views
Replies
Sign in to like this content
Total Likes