The user enters a Monday date in a date/time object. It is, and needs to be displayed in full (Monday, July 16, 2012) When the user then clicks a check box object, the remaining days of that week are populated into four other date.time objects. I was trying to use the following FormCalc to verify the user selected a "Monday" date and if yes, then add one day for each other field but it does not work.
Here's an example form section -
// Get the number of days since epoch (Jan 1, 1900).
var dateNum = Date2Num(Day1.formattedValue,"M/D/YYYY")
// Convert the number of days to the full weekday name.
MondayCheck.rawValue = Num2Date(dateNum,"EEEE")
if (MondayCheck.rawValue ne "Monday") then
xfa.host.messageBox("First Requested Day Must Be a Monday.");
$.rawValue = "";
endif
DayTwo.Day2.rawValue = Num2Date(Date2num(Day1.rawValue,"YYYY-MM-DD")+1,"EEEE, MMMM D, YYYY");
DayThree.Day3.rawValue = Num2Date(Date2num(Day1.rawValue,"YYYY-MM-DD")+1,"EEEE, MMMM D, YYYY");
DayFour.Day4.rawValue = Num2Date(Date2num(Day1.rawValue,"YYYY-MM-DD")+1,"EEEE, MMMM D, YYYY");
DayFive.Day5.rawValue = Num2Date(Date2num(Day1.rawValue,"YYYY-MM-DD")+1,"EEEE, MMMM D, YYYY");
Solved! Go to Solution.
Views
Replies
Total Likes
Yup, it's FormCalc - you can't use Date2Num, etc., in JavaScript.
It will work with date fields but I found the text fields easier to deal with.
Views
Replies
Total Likes
I've done something similar but found it easier to use more variables:
var endDate = Date2Num($,"YYYY-MM-DD")
var dayOfWeek = Num2Date(endDate, "E")
if (dayOfWeek <> 7) then
xfa.host.messageBox("Ending date must be a Saturday")
$ = null
xfa.host.setFocus("$")
endif
and then I populate the other fields with this (I don't use date fields for the calculated dates, just text fields):
Pg1.subTableAux.Table1.Row1[6].Date = Num2Date(endDate - 0, "DD")
Pg1.subTableAux.Table1.Row1[5].Date = Num2Date(endDate - 1, "DD")
Pg1.subTableAux.Table1.Row1[4].Date = Num2Date(endDate - 2, "DD")
etc...
Views
Replies
Total Likes
I assume this is in FormCalc. Do you know if this will work using date/time fields instead of textfields?
Thanks for your help,
-Don
Views
Replies
Total Likes
Yup, it's FormCalc - you can't use Date2Num, etc., in JavaScript.
It will work with date fields but I found the text fields easier to deal with.
Views
Replies
Total Likes
Thanks for your help!
I'll give it a try.
-Don
Views
Replies
Total Likes
If I don't want this script to run unless a checkbox is checked first, how can I write a FormCalc statement for that>
Thanks again!
Views
Replies
Total Likes
You'd need to wrap the whole thing in another if statement to check the value of the checkbox.
Or you could have the checkbox enable/disable the object that is doing the calculation.
Views
Replies
Total Likes
That's the part I am not familiar with. I know javascript if statements but not FormCalc.
Is it like this:
if (checkbox1 = 1) then
etc...
Views
Replies
Total Likes
Yup it works the same but the FormCalc operators seem to work better (eq instead of =, <> instead of !=, etc.).
if (condition) then
if (condition) then
do stuff
endif
endif
Here's a link to the FormCalc user reference:
Views
Replies
Total Likes
Got it - thanks for your time and expertise.
-Don
Views
Replies
Total Likes