Several weeks ago, I wrote a Tech Tip called "Validating HTML Forms with Message Subfiles" in which I described how to manage errors in HTML forms.
A few features make this calendar stand out:
- Easy to implement and change
- Shows week numbers
- Different skins
- Easy to navigate
- And much more
The documentation for all the different functions and methods can be quite overwhelming at first for RPG programmers, because this is quite different from what we normally work with. So to save you some reading and digging into the unknown, I have compiled a zip file that contains just the files you need to get started.
Note: Because there are quite a lot of links and downloads in this Tech Tip, I have listed them all at the end of this tip.
Now, let's get to work.
Once again, I expect a few things from you:
- Your i5 must be able to run and execute CGI programs.
- You must know where your Web server document root is.
- You have installed the programs in "Validating HTML Forms with Message Subfiles" (if not, just read on and download the simple HTML example at the end of the tip).
When the calendar is installed, your HTML form will look like the figure below.
Figure 1: Here's your basic calendar. (Click images to enlarge.)
Follow these steps to make it all work:
Figure 2: Your directory should now have this structure.
The figures in the parentheses show how many objects there should be in the various directories.
This might be the hardest part if you are unfamiliar with the configuration of the Web server, but to give you a hint, look for your start page, which normally is called index.htm or index.html, and work your way out from there.
Figure 3: Add some code to FORM002H.
I have found that some of the language files contain errors, so you might have to dig into that in order to make it work. Look for the variable Calendar._FD = 0; if it is not in the language file, the calendar will not work. Then look at calendar-en.js, compare it to the language file in error, and add the missing variables.
Also note the calendar-win2k-1.css file. This includes the CSS descriptions that define the look and feel of the calendar. The calendar.zip file includes six skins.
Figure 5: This section sets up the parameters passed to the calendar. By changing these, you can easily change the calendar's look and feel.
The inputField is the ID of the HTML form field where you want the date to be parsed into. (Note that uppercase and lowercase letters do matter.)
The ifFormat controls the date format. To change it to mm/dd/yyyy plus the abbreviated weekday name, change the line to "%m/%d/%Y %a". The date passed back to the inputField will now be in mm/dd/yyyy format.
The "button" is the name of the "show calendar" button.
If you want the calendar not to show week numbers, add the following line before the button:
weekNumbers : false,
Also have a look at the reference document, which explains all that can be done with this great piece of software.
Done! That's all you need to get started. Now try loading the page by entering the following URL in your browser: http://yourserver/cgi-bin/form002. You should see the following:
Figure 7: Use these keys to navigate the calendar.
- FTP all the files in calendar.zip to your i5 Web server root (calendar.zip)
- Restore the HTML skeleton source file to your cgilib in QRPGSRC (FORM002H.zip)
- Calendar reference document (doc.zip)
- Full calendar from Dynarch.com (click here)
Whether you have installed everything or not, please download the simple-example.zip file, which contains both a pop-up calendar example and a flat calendar example.
In this tip, I have only scratched the surface of all the features in the calendar, so once you are up and running, I encourage you to visit the Dynarch calendar site and read and download the whole calendar package. There is even a commercial version with a lot more features if you should ever need it.